Communication of components
Hi,
I have a question about how other developers implement communication of components in a Swing application.
I'll try to explain the question whith this little example (I omit superflous code):
public Class JFatherPannel extends JPannel {
public JFatherPannel(){
JPannel jSubPannel1 = new JSubPannel1();
JPannel jSubPannel2 = new JSubPannel2();
container.add(jSubPannel1);
container.add(jSubPannel2);
public Class JSubPannel1 extends JPannel {
public JSubPannel1(){
JButton jButtonSubPannel1 = new JButton();
jButtonSubPannel1.addActionListener(myActionListenerSubPannel1);
container.add(jButtonSubPannel1);
public Class JSubPannel2 extends JPannel {
public JSubPannel2(){
JButton jButtonSubPannel2 = new JButton();
jButtonSubPannel2.addActionListener(myActionListenerSubPannel2);
container.add(jButtonSubPannel2);
} What I want to do is call a method of JSubPannel2 when the button of JSubPannel1 is clicked. And the question is:
�How is this used to be implemented? �Which is the smartest solution? �Do I need to pass object references at
constructors? This last solution could be valid for little applications, but when the application grows and
hierarchy goes bigger this is a mess of objects cross references.
Thanks.
It is not so messy if you use interfaces.
Anyway, you could put the code in a different class, so that all the panel only need a reference to an instance of that class.
Or you could use the FatherPanel as an intermediary by passing a reference to the constructors of the children, or by making it a Singleton.
The choice is yours.
Similar Messages
-
Communication between components
Hi all,
I have a webdynpro that calls to another webdynpro component. In the second component i want to choose some data and its data must be returned to the first component.
I don't know how can i do it...
may be i need to add the second component in the "used webdynpro components" of the first. and create a method as event handler to get this data, but i don't know how can i trigger this events or what i need to do...
do you know how can i do it? Where do I start?. what steps should I follow ..
Thanks in advance.Hi ,
To transfer data from componentB to component A , you need to declare Component B in component A as used components.
The context node in component controller of componentB has to be made as interface, so that it will have its visibility outsite componentB.
So to transfer data from context node of componentB to componentA ,you need to define mapping of context node from compB to CompA, no extra code needed to pass value . Once the value is filled in context node of componentB it will automatically be populated in component A.
If you need to transfer a variable, create a method in component controller of componentB and declare the method as interface , So it has its scope outside component B .You can call this method from component A ,thus the value is transfered.
Regards
Karthiheyan M -
Installation of Technical Communications Suite components fail
I've migrated from a laptop with Windows XP to a Windows 7 64 bit laptop. Post migration I re-installed Technical Communications Suite 4. During the installation I get an error that Presenter failed to install because PPT 32 bit is not present. Additionally, Captivate cannot create swf files. Please help resolve these issues.
Alisha in Adobe support was able to resolve the problem:
Browse to the following location and open the file mentioned : C:\Program Files (x86)\Adobe\Adobe Captivate 6\AdobeCaptivate.ini
Add the following tag to the file : Use32BitJVMForPublish = 1 (as shown in the image below)
Also, do the same to the file in the following location : C:\Program Files\Adobe\Adobe Captivate 6 x64\AdobeCaptivate.ini.
This seems to have worked. -
Communicating between components
I'm sure this is an easy question but I'm finding it hard to get to grips with programming an need a nudge in the right direction please
I created my site for the first time in Flash Catalyst and now rightly or wrongly i have about 50 components and a main. Now most of the work is done in my components and i feel I'm nearly half way in writing the code in Flash Builder. But it would be a lot easier if i could pass data between one of the components to another, as i have one component that's displays a tile list of users and then the client selects the user of interest which then fires a state selected and then we go to the new component which displays the user full info in question.
so I'm trying to pass the ID from component "component_users" to component "component_userinfo"
so i can use the ID property to retrie the data with a SQL string.
But every time i search on the net and try something i just always get errors of the kind that means I'm not doing it right
i have tried setting up globals ie import mx.core.FlexGlobals; but my variables are in a component and not in main so that didn't work.
i have tried making a function and then calling it but that didn't work component_users.function but maybe i did that wrong maybe
i have tried making variables [Bindable]
does anyone one know what the correct procedure is or can u not call from other components?[Bindable] public static var
god why is it i ask the question then i found it! -
Component triggering and communication
I have recently been tasked with learning flex for our
project and for the life of me, I cant seem to get my head around a
couple things. I want to ask one question here regarding
communication between components.
Is it possible to call a function (if its public) from one
component by another one if both components are in the same
view?Thanks for the reply Peter. I watched a video on this last
night and can't wait to get started. I created a PrintDataGrid
component and am going to try to pass the items from the list into
it and use a while loop and the validNextPage property. My code
looks something like this: 3 files
--- Print Data Grid Component---
<mx:PrintDataGrid id="PrintMeetings">
<mx:columns>
<mx:DataGridColumn
dataField="meeting"/> // Not
really sure which value to use here because the list contains an
itemRenderer that inserts objects from a meetingItem class
</mx:columns>
</mx:PrintDataGrid>
--- Header Component ---
<mx:Button id="btnPrint"
click="Print();" />
Trying to
call the print function in the page comonent here. There is no
print function in the header
--- Page Component ---
<mx:List id="lstMeetings"
dataProvider="{CommunityModelLocator.getInstance().meetingList}"
itemRenderer="view.meeting.MeetingListItem" />
I know Cairngorm is advanced, but I have been tasked with
figuring it out because our projects are using it. Thank you for
any help you can offer. -
Do you think if FMS 3 support communication UI Components
(like SetBandwidth)? May I have the url and I can download themfor
flash cs3.
Thanks
MarkIn your application, create one dynamic text field and set
its var property in the property inspector as 'quesStr'. Put two
radio button components and name them as 'r1_btn' and 'r2_btn'. Put
two combo boxes and name them as 'cbTerm' and 'cbExercise'.
Finally, place a button instance and name it as 'disp_btn'.
The label property of the combo box indicates the list when
you pull it down. (if you set the editable property to true, then
you can edit the text area and the rowcount property provides you
to display the number of items when you pull down. data property is
associated with the database)
In the label property, enter "1" and "2" for the cbTerm
combobox and "9" and "10" for the cbExercise combobox.
Now, attach the code.
Make sense? -
Problem in creating Receiver Agreement using Integration Directory API
Hello Experts,
We are developing a scenario where we are creating "REceiver Agreement" through Integration Directory API.
This requires certain parameters like Sender component, Interface, Communication Channel & Namespace to be set in the code.The required Communication Channel & Components already exist in Integration Directory .
Our concern is that we are not able to retreive this Communication Channel's ID through the code in order to set it as a parameter for Receiver Agreement generation.
Can anybody pls advice??
Thanks in advance,
Suraj.Hi Stefan,
We tried using query on communication channel, but could not do it as we could not get a method which accepts name of communication channel as parameter.
We used "CommunicationChannelQueryIn" related methods in the API.
But still could not retreive the Communication Channel ID of an existing Communication Channel.
Please help. -
Questions on Credential Store and Identity Store in 11G
Hi All,
I have two questions
Question 1
About the credential store. Can anybody please tell me what information does credential store stores ? I have read that it stores the usernames and passwords for system accounts, now my question is what are those system accounts? Can anybody please explain in detail with a small example? Has BISystemUser has something to do with that?
Question 2
My understanding is that the usernames and passwords for the users which we have in the embedded Weblogic LDAP is store in the identity store, right? Now if we have configured an external LDAP (now I can sound stupid on this one) where are the usernames and password stored, in the external LDAP or still in the identity store ? Does external LDAP has its own store of storing the user name and password for users or it uses the identity store?
Thanks,
RonnyPlease refer to this excellent post: http://shivabizint.wordpress.com/2012/05/03/how-are-credentials-stored-in-obiee-11g-and-weblogic-infrastructure/
The system accounts that are created with an OBIEE 11g install are weblogic, OracleSystemUser and BISystemUser. BISystemUser is a specific user that OBI uses as the configured authenticator of internal communication among components.
Please mark if helpful/correct. -
Study material on ALE and IDOCS
Hi
If anyone has some study material on ALE and IDOCS ,if you can please send it across to me , it would be very helpful to me .
My mail id is : [email protected]
Thanks in advance
Ankit1. What is ALE?
Application Link Enabling (ALE) is a set of business processes and tools that allow applications on different computer systems to be linked. This can be done between different SAP systems as well as between SAP and non-SAP systems.
In a single SAP system different applications are integrated via a single database (e.g. finance, sales, production, human resources). However, many companies do not have just one integrated system but a distributed environment with different applications running on different systems. To run the whole business in such an environment the distributed applications have to be linked. This can be done through Application Link Enabling (ALE).
ALE provides distributed business processes that can be used to link the applications on different platforms. There are some ALE business processes delivered in the standard SAP system. Furthermore, there are tools that can be used to change the existing ALE business processes or to implement new distributed business processes.
Besides the business processes there are special ALE services that are required to set up and control a distributed environment. These services include a distribution model, business object synchronization and tools for monitoring or error handling.
ALE is a major part of SAP's Business Framework Architecture. Besides the basis middleware, that provides the communication between components, and the interfaces (BAPIs), ALE business processes and ALE services enable the cooperation of the single components within the framework. That makes ALE the glue of the Business Framework.
2. What are the benefits of ALE?
With ALE companies get the opportunity to improve business performance and to solve organizational or technical issues.
Through distribution you can decentralize your business, enabling local units to operate independently from each other. This flexibility enables the local units to return better business results than in a centralized environment. They have the necessary flexibility to optimize business processes in different organizational units and can ensure that information systems can handle the speed of change in rapidly expanding markets. Distribution allows a high level of freedom, provided that this level of freedom has been clearly defined.
On the other hand, some companies, that already have a distributed organization with different computer systems in the local units, have the opportunity to link their units through ALE business processes. This enables them for example to provide a 'one face to the customer' approach. Another area that can benefit through ALE are virtual organizations (partnerships between independent companies, joint ventures and mergers and acquisitions).
Of course, in many cases an integrated solution based on a single system is not possible at all. Some applications used by a company can not run on the same computer system. This includes legacy systems or complementary software. It may also be possible that a company uses different SAP industry solutions or specific country solutions, which do not run on the same SAP System. If these applications run on different systems they can not be linked by a central database but have to use a special integration mechanism like ALE. In this way ALE also links SAP Core Systems to other SAP components like CRM, Business Information Warehouse or APO.
Besides the benefits of having an improved flexibility in setting up the whole business processes, ALE may also reduce costs, in particular costs of upgrading. If the whole business is run on one integrated system you have to upgrade the whole system, even if only one part of your company (e.g. human resources) requires an update. So the entire company is affected by the upgrade project and all users have to be trained for the new release. Within a distributed environment with release independent interfaces, like those provided by ALE, you can focus the upgrade project on that part of the company that has to be upgraded. The other parts of the company are not involved and need no training. This can save a lot of money. Furthermore, existing investments are protected.
Another cost factor for distribution might be communication costs. For an overseas connection it can be more expensive to provide online access to one central system (T1) than to connect distributed systems to each other (64K line).
There might also be some technical reasons for distributed systems. If some parts of the business have special requirements for security of data access (e.g. human resources), this can be set up much safer on a standalone system, which is, however, linked to other parts of the company through distributed business processes. A similar example is high availability. High availability is usually required by the operations part of the company (production, logistics) but not by other areas (e.g. financials, human resources). In a distributed environment high availability can be set up for specific parts of the environment instead of for the whole business. This can also reduce costs.
In a distributed environment you can not decrease the overall workload of the systems but you can separate the user workloads on different systems. Through this scalability you can improve performance. Another benefit of distributed systems is that if a technical failure occurs on one system, all other systems continue to operate. Only a small part of the business is disrupted by the error. On one central system such an error would disrupt the entire business.
3. When should ALE be used?
Besides the benefits of ALE there are also reasons not to distribute:
The functional scope in a distributed environment is restricted. Not all functionality that is available in an integrated SAP system can be used with distributed systems in the standard yet. Although ALE provides tools to create new ALE business processes or to enhance existing business processes, this does involve additional expenditure.
Each company needs some organizational standards and data harmonization. In a distributed environment less standards are required than on a single integrated system. However, in a distributed environment the maintenance of the standards and the data harmonization is more difficult than on a single system.
The administration of decentralized systems is more expensive. Support and service costs for hardware and software in decentralized systems are higher than these costs in a single centralized system.
ALE should be used in a company if the benefits of ALE for this company outweigh the reasons against distribution. For this you always need to carry out a company specific investigation, in which you also should consider the culture of the company. ALE is good for some companies but not for all.
4. What is the relationship between ALE and Middleware?
Electronic Data Interchange (EDI) is a term for the transfer of business messages between two systems. There are many such messages, the most common of these include a customer sending a purchase order message to a vendor, or a vendor sending an invoice message to a customer. Classic EDI is mainly restricted on the exchange of transactional data, no master data or configuration data. In most cases, EDI replaces the transfer of paper copies of these documents. Via the messages ALE business processes can be implemented between business partners. The EDI messages also use the ALE services.
For the communication between different types of systems special EDI messages are defined as standards for inter company communication. There are many standards for these messages - in the United States, the ANSI X.12 standard is the most prevalent, in Europe, the UN/EDIFACT standard is used. For sending EDI messages the information has to be converted into an EDI standard. With SAP systems this is done by EDI subsystems. This conversion is the only difference between EDI messages and other messages used in ALE business processes. The processing of these messages on the SAP System is the same as the processing of other ALE messages.
5. Which ALE business processes are available?
IDoc Types - Message Types
ALE business processes are integrated business processes that run across distributed systems. This can be two different SAP systems, links between SAP and non-SAP systems, SAP and Web-servers (Internet Application Components) or SAP and desktop applications. The links between the systems may be loosely (asynchronous) or tightly (synchronous) coupled. These business processes are release independent and can run between different release levels of the systems.
Many SAP applications offer ALE distribution processes. The following list gives some examples:
Master data replication (IDoc Types - Message Types - Master Data)
- Material
- Customer
- Vendor
- General Ledger accounts
- Bill of materials
Accounting (IDoc Types - Message Types -Accounting Business Processes)
- Links to logistic systems
- Distributed financial accounting
- Distributed cost center accounting
- Distributed special ledger
- Profitability analysis
- Distributed profit center accounting
- Consolidation
- Treasury
Logistics(IDoc Types - Message Types - Logistics Business Processes)
- Reallocation of materials
- Distribution of sales and shipping
- Product data management
- Purchasing contracts
- Sales and operations planning
- Warehouse management
- Links to warehouse control systems
- Links to production optimization systems
- Links to transport planning systems
Information systems (IDoc Types - Message Types - Logistics Business Processes)
- SAP Business Information Warehouse (BW)
- Exchange of data between information systems
- Web reporting
Human resources (IDoc Types - Message Types - HR Business Processes)
- Human resources as a single component
- Payroll results
- Travel expense accounting
- Links to time collecting systems
However, these standard solutions may not fit 100% for a company. There may be differentiation in the business process or a required distributed business process is not supported in the standard. If this happens, ALE provides tools that can be used to adapt a standard ALE business process or to create a new distributed business process.
6. Which ALE services are available and what do they do?
To integrate distributed systems you need more than a communication infrastructure and interfaces. Some additional services are required that are provided by ALE:
Business process harmonization:
Within system overlapping business processes multiple functions running on multiple systems are involved and connected through multiple interfaces. The processes are combinations of functions (sub-processes) running on the single systems.
(Example: A business process for customer order management involves functions in sales, manufacturing, warehouse management, finance, and so on. It is possible that the sales functions are carried out on another system than the manufacturing, the warehouse management or the accounting. Furthermore, some information exchange with the customer, a supplier or a bank may be involved in the process.)
ALE helps to coordinate the whole business process by defining it within a global model. In this model the business rules for the distribution are defined. Via the model the sub-processes get to know which part of the overall process they have to do themselves and when they have to pass the process over to another system. Through this the whole business process gets harmonized.
Receiver determination:
For distributed business processes a sub-process on one application (client) has to start another sub-process on another application (server). It is important that the new sub-process is started on the right server. Which server is the right one can not be defined by technical values, it depends on the business content of the process.
(Example: A sales system forwards customer orders to two different production systems. To which system a special sales order is forwarded depends on the entries in the sales order (this may depend, for instance, on the ordered material or on the customer). One sales order may also be split into two or more different orders that may be forwarded to different production systems.)
To notify the client which system is the receiver of the communication (server), ALE uses a distribution model. From this model the applications get the information about the right server. There are special ALE BAPIs and function modules available for this. The receiver determination makes sure that the information is sent to the right places.
Business object synchronization (semantic synchronization):
If business processes run across distributed systems, they have to share some data to be harmonized. This is data like business information data, master data or customizing data. If this data is changed in any of the distributed systems, other systems have to be informed about the change. There has to be some kind of subscription of the data.
ALE provides a special service for this data synchronization. This service can detect data changes and distribute the information to those systems that need to know about the change. This service also defines which data is shared. You can determine which fields of a data object shall be common and which fields may vary locally.
Consistency checks:
For a business process running across two distributed applications there has to be some harmonization of the sub-processes in the single applications. For making sure that the sub processes are harmonized there are special ALE consistency check tools. These tools help to find and repair inconsistencies. By this it can be ensured that the whole ALE business process works in the right way.
Monitoring:
For the monitoring of distributed processes it is not enough to monitor all activities on the single systems. The overall business process has to be monitored. The ALE monitoring services provide detailed information about the communication process, the sub-process on the other systems and its results. Database links are created between the business objects in question on the client and the server. This is especially important for loosely coupled applications with asynchronous links. In this case the server can not give return values back to the client directly so that the ALE monitoring is the only channel for feedback.
Error handling:
Another problem with asynchronous communication is error handling. If an error occurs on the server the calling process on the client may have finished already. So the server can not return the error message to the client. A special error handling process required. This process is one of the ALE services. It uses workflow functionality to identify the error and to start the required error handling.
7. Synchronous vs. asynchronous links?
When distributed applications are linked by ALE business processes, the question often arises as to how tight the link should be. Synchronous and asynchronous links have both advantages and disadvantages.
Synchronous links have the advantage that the sub-process on the server can return values to the sub-process on the client that has started the link. Problems with synchronous links occur if the communication line or the server is temporarily not available. If this happens, the sub-process on the client can not be finished (otherwise there would be data inconsistencies).
(Example: There is a logistics system and a financial system. Every stock movement in logistics has to be posted in the general ledger of the financial system. If the link between logistics and finance is synchronous, no stock movement can be recorded in the logistics system if the communication line to the financial system is down.)
Because of this, synchronous links are usually used if the client only wants to get some data from the server and the sub-processes on the server do not have to write any data to the database.
With asynchronous links the sub-process on the client can be finished even if the communication line or the server is not available. In this case the message is stored in the database and the communication can be done later. The disadvantage of asynchronous links is that the sub-process on the server can not return information to the calling sub-process on the client. A special way for sending information back to the client is required. In addition, a special error handling mechanism is required to handle errors on the receiving side.
Asynchronous links are used if a synchronous link is not applicable. For the problems with sending return information to the client and with error handling there is some support from the ALE services.
8. Which kind of interfaces do ALE business processes use?
ALE business processes are integrated processes across distributed systems, requiring interfaces between the systems. These interfaces have to be stable to enable the communication between different releases and to reduce the impact of release changes within the distributed environment.
In SAP R/3 release 3.0 and 3.1 ALE uses IDocs as interfaces. An IDocs is a data container for transferring messages asynchronously. They are release independent. Since SAP Release 3.1G BAPIs are a new type of object oriented, stable interfaces that can be called synchronously or asynchronously. Asynchronous BAPIs use IDocs as data containers. ALE business processes can use BAPIs as well. In the future new ALE business processes will use BAPIs as interfaces. But the existing IDocs will still be supported. In time, BAPIs will be created with similar functionality to existing IDoc interfaces.
9. Why does SAP uses ALE instead of database replication or distributed databases?
Database replication is another possibility for doing business object synchronization. However, there are some major disadvantages with database replication. At the moment database replication is database dependent and release dependent within one database. This makes database replication impossible for the use with non-SAP systems and even for the replication between SAP Systems you have to make sure that all systems are running on the same SAP release and the same database release of a single database vendor. Furthermore, with database replication you cannot do things like field conversions or version changes. ALE does not have these shortcomings because it offers application driven data replication independent of the underlying database.
Another technology, distributed databases, is no alternative for ALE at the moment, either. There are some good results of distributed databases available, but the performance is far from sufficient for using it with larger applications like SAP.
10. What is the relationship between ALE and middleware?
For distributed business processes many different services are required. Most of these services are offered by SAP. For some of these services you can also use products that are provided by SAP's complementary software partners or by other companies:
The communication service for doing the pure communication is usually done via Remote Function Call (RFC). RFC is provided by SAP for most platforms both for synchronous and asynchronous communication. There are other messaging systems for the communication service available as well, like IBM's MQSeries. However, the communication between SAP and the messaging system is still done via RFC.
For the serialization of asynchronous communication the RFC provides little functionality at the moment. The serialization has to be checked by the application. ALE offers some support to do these checks. The serialization of the RFC communication will be improved in the future. Serialization services are provided by some of the existing messaging systems, but even they can not guaranty a 100% serialization of the communication, since they use RFC for the connection to SAP.
The monitoring and error handling of the communication is done via services provided by the RFC and ALE. If messaging systems are used for the communication they also offer some monitoring and error handling functionality.
If a non-SAP system is involved in the ALE business scenario and this system does not understand SAP's BAPI or IDoc interfaces, the data has to be mapped to any interface structure that this system offers. For this mapping SAP does not provide a service but it certifies mapping tools from software partners. These tools are called ALE translator. The most known product in this area is probably Mercator from TSI International Software. The same kind of mapping can also be done by 'EDI converters'.
Another type of middleware products offer process ware. This is mainly a combination of the communication service, the mapping service and a set of rules for the mapping. Some ALE translator can be used for this as well.
Receiver determination is one of the ALE services (see above). Parts of this service can also be provided by some of the messaging systems, but you cannot use these systems without using ALE receiver determination.
For the other ALE services like application monitoring, application error handling, semantic synchronization and business process harmonization, there are no middleware products available as a replacement of ALE.
ALE is open for the use of middleware products for the distribution, but in most cases the additional middleware is not necessary. In a communication between different SAP systems usually the use of additional middleware makes no sense at all. For the communication between SAP and non-SAP systems there might be some benefits, especially if the middleware is used at the company already. The only middleware tool that is really required if the non-SAP system does not understand BAPIs or IDocs is an ALE translator.
Check different sites for more information.
Regards -
Hi,
I am attempting to use the action framework within OBIEE 11g, specifically invoke a web service. When I go to New -> Action I get a server error:
An error occured during processing of the SSL protocol
1093359936:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed:s3_clnt.c:1059
The log viewer in Enterprise Manager gives us
UNKNOWN_CA alert received from [HOST] - [IPADDRESS]. The peer is rejecting the certificate chain as being untrusted or incomplete.
We have SSL on and it is working fine everywhere apart from when I try to create the action. I (and my colleagues) have trawled through all the documentation and googled everything we can think of with no success. Has anyone else seen this or maybe has an idea as to what is going on?
Thanks for any help.Hi Christian
Thanks for your reply. The BI system is SSl secured so is running over https but I don't even get a chance to select any web service, SSL or not, (or even put in a wsdl url) as the error occurs directly I click on anything that creates a new action. It is therefore an issue with SSL on the BI server itself (or the communication between components) but I am stumped to what it can be. -
Local interface of each controller in web dynpro abap
Hi everyone,
Anybody please give some idea what is local interface of each controller in web dynpro abap??
Thanks,
Sonali..Hi,
There will be three controllers in webdynpro
1) Component controller which provides data and processing logic that it should be possible to display or change for all views of a component. It is the main component. All the data of the iview can be shared using this controller. Custom controller is also component controll. The only differnce is it is custom made.
2) Inteface Contorller which is used as in interface for communication other components.
3) View Controller which will be having data and functions and visible in the same iview and is associated with the iview. its lifetime is also limited and only during it is shown.
Please go through the link also
http://help.sap.com/saphelp_nw2004s/helpdata/en/b9/b82c4142aef623e10000000a155106/frameset.htm
Also please go through the below pdf link.
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2eb11b59-0a01-0010-dfa3-8292abdf9c4f
hope it helps you.
Raghu
Raghu -
hi,
what is the difference between Function module and API Function in BAPI Concept.
Points will be rewarded .
thanks and regards .
soorya.kBAPI stands for Business API(Application Program Interface).
Function Modules:
Function modules are ABAP routines that are stored in a central function library. They are not application-specific, and available systemwide. The ABAP Workbench comes with a large number of standard function modules.
Some Busniess Logic thats needs repeated execution in System are developed into FM. So Reusibility is the major advantage and no repeated programming.
All related FMs are grouped in Function Groups..Normally used with the SAP system .
Business API(Application Program Interface).
BAPI enable access to SAP functions across formal, stable and dialog-free interfaces. These interfaces can be used by external applications developed by customers and complementary software partners as well as by other SAP applications.
BAPIs are defined as API methods of SAP Business Object Types. These object types are used to enable object-based communication between components. Business objects and their BAPIs enable object orientation to be used in central information processing in companies. For example, you can reuse existing functions and data, achieve trouble-free technical interoperability, and implement non-SAP components.
Applications can use BAPIs to directly access the application layer of the SAP System and, as clients, applications can use the business logic of the SAP System. BAPIs provide the client with an object-oriented view of the application objects, without needing to know the implementation details.
Reusibility is the major advantage
Even non-SAP application can access SAP system using BAPI for executing certain Business Functionality
Basically BAPI are designed for the 3rd Software to communicate with SAP system for accessing,creating or modifying some business data lying on the SAP system ! -
Getnode returned null for uri error for caldav server
Hello,
I am trying to install the Oracle UCS ( SUN 7 update 2 ) server.
https://wikis.oracle.com/display/CommSuite7U2/Communications+Suite+on+a+Single+Host+%28Linux%29#CommunicationsSuiteonaSingleHost%28Linux%29-InstallingtheExample
So far, I have successfully:
Checked the installation requirements
Installed Communications Suite 7 Update 2 Software
Installed and Configured the Directory Server
Prepared the Directory under ( Configuring Communications Suite Components )
Configured Delegated Administrator and Communications CLI
Configured Messaging Server
Configured MYSQL Server
Configured Calendar Server
I have just installed a caldav server. I checked that it was enabled by running:
# asadmin list-components -p <admin-port> --type=web
davserver <web-module>
Command list-components executed successfully.
# asadmin show-component-status -p <admin-port> davserver
Status of davserver is enabled.
Command show-component-status executed successfully.
that was from this page:
https://wikis.oracle.com/display/CommSuite7RR92909/Calendar+Server+7+Troubleshooting
In Firefox, I try to hit the suggested pages under "Testing Calendar accounts". However, this errors out every time for me.
http://domain.com/davserver/dav/h/myDomain.com/myusername/calendar
wheremyDdomain.com is my actual domain that I will not list here
and myUsername is my actual username which I will not list here
( I edited both of these in the logs below )
I checked my log in /var/opt/sun/comms/davserver/logs:
INFO [2012-02-11T11:46:02.729-0500] <...DavServer.<init>> Server Startup succeeded
INFO [2012-02-11T11:46:02.730-0500] <...DavServer.loadBackend> Loading backend defaultbackend with backendid defaultbackend
INFO [2012-02-11T11:46:02.730-0500] <...DavServer.loadBackend> JDBC JNDI Name = jdbc/defaultbackend
INFO [2012-02-11T11:46:09.033-0500] <...DavServer.loadBackend> Loading backend ischedulebackend with backendid ischedulebackend
INFO [2012-02-11T11:46:09.033-0500] <...DavServer.loadBackend> JDBC JNDI Name = jdbc/ischedulebackend
INFO [2012-02-11T11:46:09.427-0500] <...DavServer.loadBackends> iSchedule enabled
INFO [2012-02-11T11:46:09.439-0500] <...DavServer.loadBackends> modified ischedule collection at /ischedule/
INFO [2012-02-11T13:33:18.967-0500] <...URIInfoManagerImpl.getEntryFromSearchFilter> found 0 corresponding to: (uid=caldav)
INFO [2012-02-11T13:33:59.844-0500] <...URIInfoManagerImpl.getEntryFromSearchFilter> found 0 corresponding to: (uid=caldav)
FINE [2012-02-11T13:42:39.157-0500] <...DavServerServlet.service> [REQ] GET /davserver/browse/h/myDomainName/myUserName/calendar 127.0.0.1 myDomainName
FINE [2012-02-11T13:42:39.808-0500] <...LDAPSingleHostPool.getConnection> got connection from getConnection() for pool Pool number:0. Host=myDomainName
FINE [2012-02-11T13:42:41.441-0500] <...LDAPSingleHostPool.getConnection> got connection from getConnection() for pool Pool number:0. Host=myDomainName
FINE [2012-02-11T13:42:41.460-0500] <...LoginModuleHelper.checkIfUserInAdminGroup> user: admin; isMemberOf = cn=Service Administrators, ou=Groups, o=isp
FINE [2012-02-11T13:42:41.684-0500] <...DavBrowserServlet.service> Got a non standard condition: getNode returned null for uri /davserver/browse/h/myDomainName/myUserName/calendar
FINE [2012-02-11T13:42:41.684-0500] <...DavServerServlet.service> [RES] [404] Command execution time: 2.527 secs
I can hit this page from the browser:
http://myDomainName:4848
From my understanding, that is the admin port. That brings up the GlassFish server admin page.
I do not remember creating a calendar account anywhere is my first thought. I followed the example deployment step by step so far and nowhere does it have me create a calendar user account. So, maybe there is no account at this point?
So, my first question would be:
How can I verify that I have a calendar account to begin with? ( or is this what I am doing by trying to log into the sites suggested under 'Test Calendar Accounts').
My next question would be:
What does this error mean: "getnode returned null for uri error for caldav server"?
Spin off question from that:
What should I do to fix that error?
Thanks in advance!I did not put a slash at the end of the uris I was testing
http://myDomain.com:80/davserver/browse/h/myDomain/myUserName/calendar
http://myDomain.com:80/davserver/dav/h/myDomain/myUserName/calendar
Once I put the slash at the end of the uri, the configuration page appeared and the error was not displayed about getNode anymore:
http://myDomain.com:80/davserver/browse/h/myDomain/myUserName/calendar/
http://myDomain.com:80/davserver/dav/h/myDomain/myUserName/calendar/ -
hi experts,
whtat is ALE and why we r using ALE.please give the
steps with example.
regards,
cnuCheck this questions u may get ur answers.
1. What is ALE?
Application Link Enabling (ALE) is a set of business processes and tools that allow applications on different computer systems to be linked. This can be done between different SAP systems as well as between SAP and non-SAP systems.
In a single SAP system different applications are integrated via a single database (e.g. finance, sales, production, human resources). However, many companies do not have just one integrated system but a distributed environment with different applications running on different systems. To run the whole business in such an environment the distributed applications have to be linked. This can be done through Application Link Enabling (ALE).
ALE provides distributed business processes that can be used to link the applications on different platforms. There are some ALE business processes delivered in the standard SAP system. Furthermore, there are tools that can be used to change the existing ALE business processes or to implement new distributed business processes.
Besides the business processes there are special ALE services that are required to set up and control a distributed environment. These services include a distribution model, business object synchronization and tools for monitoring or error handling.
ALE is a major part of SAP's Business Framework Architecture. Besides the basis middleware, that provides the communication between components, and the interfaces (BAPIs), ALE business processes and ALE services enable the cooperation of the single components within the framework. That makes ALE the glue of the Business Framework.
2. What are the benefits of ALE?
With ALE companies get the opportunity to improve business performance and to solve organizational or technical issues.
Through distribution you can decentralize your business, enabling local units to operate independently from each other. This flexibility enables the local units to return better business results than in a centralized environment. They have the necessary flexibility to optimize business processes in different organizational units and can ensure that information systems can handle the speed of change in rapidly expanding markets. Distribution allows a high level of freedom, provided that this level of freedom has been clearly defined.
On the other hand, some companies, that already have a distributed organization with different computer systems in the local units, have the opportunity to link their units through ALE business processes. This enables them for example to provide a 'one face to the customer' approach. Another area that can benefit through ALE are virtual organizations (partnerships between independent companies, joint ventures and mergers and acquisitions).
Of course, in many cases an integrated solution based on a single system is not possible at all. Some applications used by a company can not run on the same computer system. This includes legacy systems or complementary software. It may also be possible that a company uses different SAP industry solutions or specific country solutions, which do not run on the same SAP System. If these applications run on different systems they can not be linked by a central database but have to use a special integration mechanism like ALE. In this way ALE also links SAP Core Systems to other SAP components like CRM, Business Information Warehouse or APO.
Besides the benefits of having an improved flexibility in setting up the whole business processes, ALE may also reduce costs, in particular costs of upgrading. If the whole business is run on one integrated system you have to upgrade the whole system, even if only one part of your company (e.g. human resources) requires an update. So the entire company is affected by the upgrade project and all users have to be trained for the new release. Within a distributed environment with release independent interfaces, like those provided by ALE, you can focus the upgrade project on that part of the company that has to be upgraded. The other parts of the company are not involved and need no training. This can save a lot of money. Furthermore, existing investments are protected.
Another cost factor for distribution might be communication costs. For an overseas connection it can be more expensive to provide online access to one central system (T1) than to connect distributed systems to each other (64K line).
There might also be some technical reasons for distributed systems. If some parts of the business have special requirements for security of data access (e.g. human resources), this can be set up much safer on a standalone system, which is, however, linked to other parts of the company through distributed business processes. A similar example is high availability. High availability is usually required by the operations part of the company (production, logistics) but not by other areas (e.g. financials, human resources). In a distributed environment high availability can be set up for specific parts of the environment instead of for the whole business. This can also reduce costs.
In a distributed environment you can not decrease the overall workload of the systems but you can separate the user workloads on different systems. Through this scalability you can improve performance. Another benefit of distributed systems is that if a technical failure occurs on one system, all other systems continue to operate. Only a small part of the business is disrupted by the error. On one central system such an error would disrupt the entire business.
3. When should ALE be used?
Besides the benefits of ALE there are also reasons not to distribute:
The functional scope in a distributed environment is restricted. Not all functionality that is available in an integrated SAP system can be used with distributed systems in the standard yet. Although ALE provides tools to create new ALE business processes or to enhance existing business processes, this does involve additional expenditure.
Each company needs some organizational standards and data harmonization. In a distributed environment less standards are required than on a single integrated system. However, in a distributed environment the maintenance of the standards and the data harmonization is more difficult than on a single system.
The administration of decentralized systems is more expensive. Support and service costs for hardware and software in decentralized systems are higher than these costs in a single centralized system.
ALE should be used in a company if the benefits of ALE for this company outweigh the reasons against distribution. For this you always need to carry out a company specific investigation, in which you also should consider the culture of the company. ALE is good for some companies but not for all.
4. What is the relationship between ALE and Middleware?
Electronic Data Interchange (EDI) is a term for the transfer of business messages between two systems. There are many such messages, the most common of these include a customer sending a purchase order message to a vendor, or a vendor sending an invoice message to a customer. Classic EDI is mainly restricted on the exchange of transactional data, no master data or configuration data. In most cases, EDI replaces the transfer of paper copies of these documents. Via the messages ALE business processes can be implemented between business partners. The EDI messages also use the ALE services.
For the communication between different types of systems special EDI messages are defined as standards for inter company communication. There are many standards for these messages - in the United States, the ANSI X.12 standard is the most prevalent, in Europe, the UN/EDIFACT standard is used. For sending EDI messages the information has to be converted into an EDI standard. With SAP systems this is done by EDI subsystems. This conversion is the only difference between EDI messages and other messages used in ALE business processes. The processing of these messages on the SAP System is the same as the processing of other ALE messages.
5. Which ALE business processes are available?
IDoc Types - Message Types
ALE business processes are integrated business processes that run across distributed systems. This can be two different SAP systems, links between SAP and non-SAP systems, SAP and Web-servers (Internet Application Components) or SAP and desktop applications. The links between the systems may be loosely (asynchronous) or tightly (synchronous) coupled. These business processes are release independent and can run between different release levels of the systems.
Many SAP applications offer ALE distribution processes. The following list gives some examples:
Master data replication (IDoc Types - Message Types - Master Data)
- Material
- Customer
- Vendor
- General Ledger accounts
- Bill of materials
Accounting (IDoc Types - Message Types -Accounting Business Processes)
- Links to logistic systems
- Distributed financial accounting
- Distributed cost center accounting
- Distributed special ledger
- Profitability analysis
- Distributed profit center accounting
- Consolidation
- Treasury
Logistics(IDoc Types - Message Types - Logistics Business Processes)
- Reallocation of materials
- Distribution of sales and shipping
- Product data management
- Purchasing contracts
- Sales and operations planning
- Warehouse management
- Links to warehouse control systems
- Links to production optimization systems
- Links to transport planning systems
Information systems (IDoc Types - Message Types - Logistics Business Processes)
- SAP Business Information Warehouse (BW)
- Exchange of data between information systems
- Web reporting
Human resources (IDoc Types - Message Types - HR Business Processes)
- Human resources as a single component
- Payroll results
- Travel expense accounting
- Links to time collecting systems
However, these standard solutions may not fit 100% for a company. There may be differentiation in the business process or a required distributed business process is not supported in the standard. If this happens, ALE provides tools that can be used to adapt a standard ALE business process or to create a new distributed business process.
6. Which ALE services are available and what do they do?
To integrate distributed systems you need more than a communication infrastructure and interfaces. Some additional services are required that are provided by ALE:
Business process harmonization:
Within system overlapping business processes multiple functions running on multiple systems are involved and connected through multiple interfaces. The processes are combinations of functions (sub-processes) running on the single systems.
(Example: A business process for customer order management involves functions in sales, manufacturing, warehouse management, finance, and so on. It is possible that the sales functions are carried out on another system than the manufacturing, the warehouse management or the accounting. Furthermore, some information exchange with the customer, a supplier or a bank may be involved in the process.)
ALE helps to coordinate the whole business process by defining it within a global model. In this model the business rules for the distribution are defined. Via the model the sub-processes get to know which part of the overall process they have to do themselves and when they have to pass the process over to another system. Through this the whole business process gets harmonized.
Receiver determination:
For distributed business processes a sub-process on one application (client) has to start another sub-process on another application (server). It is important that the new sub-process is started on the right server. Which server is the right one can not be defined by technical values, it depends on the business content of the process.
(Example: A sales system forwards customer orders to two different production systems. To which system a special sales order is forwarded depends on the entries in the sales order (this may depend, for instance, on the ordered material or on the customer). One sales order may also be split into two or more different orders that may be forwarded to different production systems.)
To notify the client which system is the receiver of the communication (server), ALE uses a distribution model. From this model the applications get the information about the right server. There are special ALE BAPIs and function modules available for this. The receiver determination makes sure that the information is sent to the right places.
Business object synchronization (semantic synchronization):
If business processes run across distributed systems, they have to share some data to be harmonized. This is data like business information data, master data or customizing data. If this data is changed in any of the distributed systems, other systems have to be informed about the change. There has to be some kind of subscription of the data.
ALE provides a special service for this data synchronization. This service can detect data changes and distribute the information to those systems that need to know about the change. This service also defines which data is shared. You can determine which fields of a data object shall be common and which fields may vary locally.
Consistency checks:
For a business process running across two distributed applications there has to be some harmonization of the sub-processes in the single applications. For making sure that the sub processes are harmonized there are special ALE consistency check tools. These tools help to find and repair inconsistencies. By this it can be ensured that the whole ALE business process works in the right way.
Monitoring:
For the monitoring of distributed processes it is not enough to monitor all activities on the single systems. The overall business process has to be monitored. The ALE monitoring services provide detailed information about the communication process, the sub-process on the other systems and its results. Database links are created between the business objects in question on the client and the server. This is especially important for loosely coupled applications with asynchronous links. In this case the server can not give return values back to the client directly so that the ALE monitoring is the only channel for feedback.
Error handling:
Another problem with asynchronous communication is error handling. If an error occurs on the server the calling process on the client may have finished already. So the server can not return the error message to the client. A special error handling process required. This process is one of the ALE services. It uses workflow functionality to identify the error and to start the required error handling.
7. Synchronous vs. asynchronous links?
When distributed applications are linked by ALE business processes, the question often arises as to how tight the link should be. Synchronous and asynchronous links have both advantages and disadvantages.
Synchronous links have the advantage that the sub-process on the server can return values to the sub-process on the client that has started the link. Problems with synchronous links occur if the communication line or the server is temporarily not available. If this happens, the sub-process on the client can not be finished (otherwise there would be data inconsistencies).
(Example: There is a logistics system and a financial system. Every stock movement in logistics has to be posted in the general ledger of the financial system. If the link between logistics and finance is synchronous, no stock movement can be recorded in the logistics system if the communication line to the financial system is down.)
Because of this, synchronous links are usually used if the client only wants to get some data from the server and the sub-processes on the server do not have to write any data to the database.
With asynchronous links the sub-process on the client can be finished even if the communication line or the server is not available. In this case the message is stored in the database and the communication can be done later. The disadvantage of asynchronous links is that the sub-process on the server can not return information to the calling sub-process on the client. A special way for sending information back to the client is required. In addition, a special error handling mechanism is required to handle errors on the receiving side.
Asynchronous links are used if a synchronous link is not applicable. For the problems with sending return information to the client and with error handling there is some support from the ALE services.
8. Which kind of interfaces do ALE business processes use?
ALE business processes are integrated processes across distributed systems, requiring interfaces between the systems. These interfaces have to be stable to enable the communication between different releases and to reduce the impact of release changes within the distributed environment.
In SAP R/3 release 3.0 and 3.1 ALE uses IDocs as interfaces. An IDocs is a data container for transferring messages asynchronously. They are release independent. Since SAP Release 3.1G BAPIs are a new type of object oriented, stable interfaces that can be called synchronously or asynchronously. Asynchronous BAPIs use IDocs as data containers. ALE business processes can use BAPIs as well. In the future new ALE business processes will use BAPIs as interfaces. But the existing IDocs will still be supported. In time, BAPIs will be created with similar functionality to existing IDoc interfaces.
9. Why does SAP uses ALE instead of database replication or distributed databases?
Database replication is another possibility for doing business object synchronization. However, there are some major disadvantages with database replication. At the moment database replication is database dependent and release dependent within one database. This makes database replication impossible for the use with non-SAP systems and even for the replication between SAP Systems you have to make sure that all systems are running on the same SAP release and the same database release of a single database vendor. Furthermore, with database replication you cannot do things like field conversions or version changes. ALE does not have these shortcomings because it offers application driven data replication independent of the underlying database.
Another technology, distributed databases, is no alternative for ALE at the moment, either. There are some good results of distributed databases available, but the performance is far from sufficient for using it with larger applications like SAP.
10. What is the relationship between ALE and middleware?
For distributed business processes many different services are required. Most of these services are offered by SAP. For some of these services you can also use products that are provided by SAP's complementary software partners or by other companies:
The communication service for doing the pure communication is usually done via Remote Function Call (RFC). RFC is provided by SAP for most platforms both for synchronous and asynchronous communication. There are other messaging systems for the communication service available as well, like IBM's MQSeries. However, the communication between SAP and the messaging system is still done via RFC.
For the serialization of asynchronous communication the RFC provides little functionality at the moment. The serialization has to be checked by the application. ALE offers some support to do these checks. The serialization of the RFC communication will be improved in the future. Serialization services are provided by some of the existing messaging systems, but even they can not guaranty a 100% serialization of the communication, since they use RFC for the connection to SAP.
The monitoring and error handling of the communication is done via services provided by the RFC and ALE. If messaging systems are used for the communication they also offer some monitoring and error handling functionality.
If a non-SAP system is involved in the ALE business scenario and this system does not understand SAP's BAPI or IDoc interfaces, the data has to be mapped to any interface structure that this system offers. For this mapping SAP does not provide a service but it certifies mapping tools from software partners. These tools are called ALE translator. The most known product in this area is probably Mercator from TSI International Software. The same kind of mapping can also be done by 'EDI converters'.
Another type of middleware products offer process ware. This is mainly a combination of the communication service, the mapping service and a set of rules for the mapping. Some ALE translator can be used for this as well.
Receiver determination is one of the ALE services (see above). Parts of this service can also be provided by some of the messaging systems, but you cannot use these systems without using ALE receiver determination.
For the other ALE services like application monitoring, application error handling, semantic synchronization and business process harmonization, there are no middleware products available as a replacement of ALE.
ALE is open for the use of middleware products for the distribution, but in most cases the additional middleware is not necessary. In a communication between different SAP systems usually the use of additional middleware makes no sense at all. For the communication between SAP and non-SAP systems there might be some benefits, especially if the middleware is used at the company already. The only middleware tool that is really required if the non-SAP system does not understand BAPIs or IDocs is an ALE translator.
Regards -
OSB or Oracle ESB????
Hi all..
We know that oracle has two service bus's OSB and Oracle ESB....i heard in future releases of SOA Suite OSB gonna replace Oracle ESB..and
Oracle ESB will behave something as mediator...Can someone explan wats the oracle statergy regarding these two products in future...also
wch is best OSB or Oracle ESB...can someone throw light on this.Oracle ESB’s primary mission was
to provide service mediation and application integration capabilities to SOA
composite application developers. This use-case can be described as “in-line
mediation” since it is used for transformation, routing and event delivery inside of
what is logically a composite application.
Oracle Service Bus on the other
hand focused on solving the operations and scalability problems in a standalone
service bus. Here the use-cases that it focused on were those of service
virtualization, on-ramping and aggregation of external services and gateway
functionality.
By combining the respective strengths of Oracle ESB and AquaLogic Service Bus(Now OSB)
in the Oracle SOA Suite platform, Oracle will enable all the common ESB usecases
and provide unmatched flexibility and functional capabilities.
The Mediator(OESB/ESB) is an intra-composite mediation component that is
deployed within an application. It is responsible for brokering
communications between components that make up a composite, enabling
transformation, routing, event delivery and payload validation inside the
composite. The main users of the Mediator are application developers
assembling multiple components into a composite application which can
be deployed, versioned and managed as a single deployment unit (all based
on the SCA, or Service Component Architecture, standard). This is the
component that all the Oracle Fusion Applications are leveraging, as well
as AIA – the Oracle Application Integration Architecture. Oracle ESB
seamlessly evolves into the Mediator in the 11gR1 release.
The Oracle Service Bus provides standalone service bus capabilities,
enabling separation of concerns between application developers and target
systems or services. The main users of the Oracle Service Bus are
integration developers and operations personnel. Their mission is to shield
application developers from changes in the endpoint services or systems
and to prevent those systems from being overloaded with requests from
upstream applications. In the 10g and 11g releases, the Oracle Service Bus
will also be augmented with key features from the current Oracle ESB,
such as domain-value-map, cross-references, JCA adapters and a
JDeveloper-based design-time. The Oracle Service Bus is based on
Aqualogic Service Bus, with the incorporation of some of the advanced
features from the Oracle SOA platform.
Maybe you are looking for
-
I get the following error when I deploy to oracle app server 10.1.3
\jdevstudio10131\jdev\mywork\spneeds1\spneeds1\deploy\ejb3.ear Uploading file ejb3.ear ... Application Deployer for ejb3 STARTS. Copy the archive to /oracle/j2ee1013/j2ee/home/applications/ejb3.ear Initialize /oracle/j2ee1013/j2ee/home/applications/e
-
Application logging in weblogic 7.0
Just wanted to put a question out there as to how everyone else is doing application logging. I want to provide a standardized error level logging capability to my application developers, and I DO NOT want to use the weblogic logging as it appears th
-
I am attempting to backup and sync an iPad 2 to my Mac Pro laptop via iTunes. My iPad is running IOS 8.1 and my laptop in running Yosemite. iTunes keep giving me an error message "unable able to copy to MAC hard drive" unknown error. Looking for help
-
How can I select records from a DB table with intervals?
Hello, Suppose my DB table is having 20 lakh records. I need to fetch 50000(for eg, this number may change ) records intially then the next 50000 records and so on , so that I never get a runtime error "memory low". I can select the first 50000
-
Volume icon is disfigured. Any solutions to this problem?
I logged into my macbook pro like I do everyday and when I clicked on the volume key the volume icon appeared to have weird lines on both the top and the bottom. It has happened to one of my friends a few months ago and she never knew how to fix it a