About OA Framework

Hi All,
I am newbie in Oracle Apps.
I have exp. on D2k, now wanted to learn OAF.
Anybody can help me out, what are the basic requirements for learning OAF.
It is mandatory having expertise in JAVA for OAF.
Guide me how can i start my new journey to OAF with help of internet.
Please suggest..
Thanks in advance
Sandeep

Hi,
Have a look at the following threads.
Learn Oracle Application Framework
Learn Oracle Application Framework
Learn OA Framework
Learn OA Framework
You can also search this forum for similar threads as the same topic was discussed many times before.
Regards,
Hussein

Similar Messages

  • I want to Know More About Struts Framework

    Hai i am kiran patil from tybca m.s.uni baroda
    we have elective of struts framework i want to know in deep and as i am begineer i want to know more about it
    thank you if u can help me
    Regards,
    kiran

    http://struts.apache.org/

  • Question about Alert Framework in Solution Manager

    Hi all,
    We are planning to use Solution Manager as Central Monitoring Server, so I want to know what the advantage to use Solution Manager is, especially in Alerting.
    We can define auto-reaction methods for monitors to send CCMS alerts to Alert Framework where the alerts can be forwarded to the personal responsible via Email or CCMS.
    Is there any difference when using Solution Manager? Which additional functions dose Solution Manager provide in alerting?
    In normal SAP Alert Framework, you can only define one receipt for escalation. Can Solution Manager support multiple level escalation? For example, an alert is sent to A, if the Alert is not confirmed by A, then the alert is forwarded to B automatically. The same way the alert can be forwarded to further persons.
    Any idea?
    Thanks!
    Regards,
    Hui

    Hi Hui,
    On my opinion there is no any advantage in useíng SAP Solution Manager as central alerting systems in respect to RZ20. The arguments are as follows:
    - in SAP Solution Mnager you have performance restrictions on number of alerts to be displayed in one screen caused by the fact that the alerts are displayed in HTTP format
    - All the customizing in SAP Solution Manager for System Monitoring is Solution specific and not transportable. It means that if you have got corrupted your system monitoring session (that happens not seldom) your settings are lost. If you have created another Solution for the same systems you have to perform customizing from the scratch
    - Customizing is also not very esay to do. I would do recommend to use "User defined Alerts" Please have a look at the SAP Note 1023959 fro this topc
    - SAP Solution Manager does not provide alerting mechanism -> you have to relay to ALM in any case. Here by the way to your second question I would say that it is possible implement exactly process you have described. In the ALM category you can use button escallation to define another person that would be informed via e-mail in case the first Recipient have not completed alert from this category within predefined time
    + The only feature that is unique with System Monitoring with SAP Solution Mnager is the possibility to change threshold values for all the MTEs / MTE Classes that are defined in User Define Alerts an one button click
    At the conclussion I would say that there are some custommers that are using SM as monitoring platform But more pragmatical would be to configure RZ20 with help of Rule-based alerts and self- defined system groups and use ALM as alerting infrastructure. In this case you can save in plain XML file your Alert configuration and export it in any other system. ALM has on my opinion enogh functionality for alerting
    Best Regards
    Andrey

  • Information About AJAX Framework Page

    Hi,
    We recently implemented one portal with EHP1. We find ajax framework page in the pcd.
    I already go through some of the documents available in SDN.
    [https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00b99527-da5b-2b10-e4b9-81fb9317f28b]
    Even i search help.sap.com release note for EHP1. But didnot found anything regarding this frame work page.
    Please tell us, whether we can use this in produciton environment? Can we customize this one? For example i need to use a masthead iview which is on default framework(not ajax) in this new (ajax) framework.
    Regards
    Baby

    Hi,
    [Ajax Framework Page (AFB) - Introduction and Architecture|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50047b5f-e52c-2d10-5e83-cb73a108134b]
    [Ajax Framework Page Features and Benefits|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/800249ff-e42c-2d10-ecbb-d393415534c5]
    [AFP at ASUG|http://www.agendasap.com/agenda/usa2010/sessiondetails.epx?sessionid=17899&agendaitemtype=2&keynotes=false&mode=standalone]
    Regards
    Baby

  • About Default Framework Desktop Inner Page refresh Problem

    In the Default Framework's Destktop Inner Page's Detail Navigation , When I click a link , It's refresh whole Desktop Innerpage page.
    Now I not require refresh whole Desktop innerpage . I'm only require it's refresh content page.
    How solve this problem?
    Thanks.

    Hi Yanjun,
    The behavior of a lot of features depends of the framework. Please check first the framework comparison document:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3050a9ef-2848-2a10-1e93-bcc432c00c84
    Also check isolation method of IViews, mainly URL isolation method (it may help you):
    http://help.sap.com/saphelp_nw70/helpdata/en/97/0be13dc2fd605ae10000000a11405a/content.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/b5/8d977463334342be192228d2824fe1/content.htm
    Reward points if itu2019s helpful.

  • A book about OA framework ......

    I am an Oracle developer and am I am trying to develop a application using Oracle standards used in Oracle Applications . A useful source of information was Oracle Applications Developers Guide aka 115devg.pdf but i want some samples .... I am searched on google and I found title of a book "11Ri Extend Oracle Applications" but it is on a web site who seems to be down ....... kamus.minidns.net . . Does anybody where I find books about standards used in Oracle Applications? Maybe even book I mentioned .
    Many thanks

    Hi,
    if you download JDeveloper with OA Extension, it comes with the toolbox tutorial, and i guess that will help you.

  • Need some update about OA Framework.

    I am an Oracle Apps DBA with 5 years exp.
    I know DBA and sysadmin activities.
    But can someone help me to plan how to learn OAF for me. Also how it would help me in future?
    If there is any other thing I have to go also please share your views?
    Regards,
    Koushik

    If everything works well you don't need new BIOS. Be happy with well running operating system.
    If you want to bootup from external HDD to use other operating system it will not work.

  • Quick Question about Folder Framework Services

    Ok so I set up and am learning how to use RIDC to talk to UCM, I don't really need help in that regard.  My question is I'm reading the Folders Services documentation and was reading "FLD_CREATE_FOLDER" and was at a loss.  One how would I find the GUID for the parent folder, and second I'm not seeing a way to add the name of the new folder.  I'm at a bit of a loss with this one hoping somone can point me in the right direction.

    Hi ,
    To get the GUID for parent folder you can use either the service FLD_INFO along with IsJava=1 parameter or run the DB query on FolderMetaDefaults table .
    1. Service part :
    From the browser use the following service call :
    http://ucmhostname:port/cs/idcplg?IdcService=FLD_INFO&path=/Folder1
    here path refers to the hierarchical structure for the actual one under which we need to create a new one .
    For eg : if Folder1 is created under root and under that we have to create a new sub-folder then path=/Folder1
    If under Folder1 we have subFolder1 then path =/Folder1/subFolder1.
    From that under ResultSet "FolderInfo" search for fFolderGUID and use that as the value for fParentGUID
    Sample code : https://forums.oracle.com/thread/2554885
    So the code would be like this :
               dataBinder.putLocal("IdcService","FLD_CREATE_FOLDER");
                dataBinder.putLocal("fParentGUID","FLD_ROOT");
                dataBinder.putLocal("fFolderName","RIDCFF1");
    Above example creates a new folder under root itself .
    Hope this helps .
    Thanks,
    Srinath

  • About Devsphere Mapping Framework ?

    Discuss about this framework ?

    who knows this framework can supports which VMs?According to the OSGi Alliance the OSGi Framework supports the following:
    "The L0 Execution environment is the specification of the Java environment. Java 2 Configurations and Profiles, like J2SE, CDC, CLDC, MIDP etc. are all valid execution environments. The OSGi has also standardized an execution environment based on Foundation Profile and a smaller version that specifies the minimum requirements on an execution environment to be useful for OSGi bundles."
    I don't know if Knopflerfish has any restraints on VM's, but I think not, since their goal is to support as many possible devices, et cetera.
    Hope this helps.
    Regards,
    Eelco Kurvers

  • OA Framework - What is that? (sorry about the dummy question)

    Hi people,
    I was looking for some information about OA Framework and i saw that it is a "tool" to help me to customize oracle applications, right? But i can do it with oracle forms and customize or create another screens. So what is the difference or why is better to use this "OA Framework"?
    Best regards

    In summary, OA Framework is the new technology to implement Self-service pages. It WILL NOT replace forms and especially reports OVER-NIGHT but it is Oracle long-term plan for all eBusiness forms/pages. IMO, no new forms will be created in Oracle Forms but they will not be redeveloped in OA Framework unless they really have to. IMO, OA Framework will really need some massive enhancements to replace the functionality provided by the major forms and "work benches" in eBusiness Suite like the HRMS person form.

  • Redesigning the Collections Framework

    Hi!
    I'm sort of an experienced Java programmer, in the sense that I program regularly in Java. However, I am not experienced enough to understand the small design specifics of the Collections Framework (or other parts of Javas standard library).
    There's been a number of minor things that bugged me about the framework, and all these minor things added up to a big annoyance, after which I've decided to (try to) design and implement my own framework.
    The thing is however, that since I don't understand many design specifics about the Collection Framework and the individual collection implementations, I risk coming up short with my own.
    (And if you are still reading this, then I thank you for your time, because already now I know that this entry is going to be long. : ) )
    Since I'm doing my Collection framework nearly from scratch, I don't have to worry too much about the issue of backwards compatibility (altough I should consider making some parts similar to the collection framework as it is today, and provide a wrapper that implements the original collection interfaces).
    I also have certain options of optimizing several of the collections, but then again, there may be very specific design issues concerning performance and usability that the developers of the framework (or other more experienced Java progammers) knew about, that I don't know.
    So I'm going to share all of my thoughts here. I hope this will start an interesting discussion : )
    (I'm also not going to make a fuss about the source code of my progress. I will happily share it with anyone who is interested. It is probably even neccessary in order for others to understand how I've intended to solve my annoyances (or understand what these annoyances were in the first place). ).
    (I've read the "Java Collections API Design FAQ", btw).
    Below, I'm going to go through all of the things that I've thought about, and what I've decided to do.
    1.
    The Collections class is a class that consists only of static utility methods.
    Several of them return wrapper classes. However the majority of them work on collections implementing the List interface.
    So why weren't they built into the List interface (same goes for methods working only with the Collection interface only, etc)? Several of them can even be implemented more efficiently. For example calling rotate for a LinkedList.
    If the LinkedList is circular, using a sentry node connecting the head and tail, rotate is done simply by relocating the sentry node (rotating with one element would require one single operation). The Collections class makes several calls to the reverse method instead (because it lacks access to the internal workings of a LinkedList).
    If it were done this way, the Collections class would be much smaller, and contain mostly methods that return wrapped classes.
    After thinking about it a while, I think I can answer this question myself. The List interface would become rather bloated, and would force an implementation of methods that the user may not need.
    At any rate, I intend to try to do some sort of clean-up. Exactly how, is something I'm still thinking about. Maybe two versions of List interfaces (one "light", and the other advanced), or maybe making the internal fields package private and generally more accessible to other package members, so that methods in other classes can do some optimizations with the additional information.
    2.
    At one point, I realized that the PriorityQueue didn't support increase\decrease key operations. Of course, elements would need to know where in the backing data structure it was located, and this is implementation specific. However, I was rather dissapointed that this wasn't supported somehow, so i figured out a way to support this anyway, and implemented it.
    Basically, I've wrapped the elements in a class that contains this info, and if the element would want to increase its key, it would call a method on the wrapping class it was contained in. It worked fine.
    It may cause some overhead, but at least I don't have to re-implement such a datastructure and fiddle around so much with the element-classes just because I want to try something with a PriorityQueue.
    I can do the same thing to implement a reusable BinomialHeap, FibonacciHeap, and other datastructures, that usually require that the elements contain some implementation-specific fields and methods.
    And this would all become part of the framework.
    3.
    This one is difficult ot explain.
    It basically revolves around the first question in the "Java Collections API Design FAQ".
    It has always bothered me that the Collection interface contained methods, that "maybe" would be implemented.
    To me it didn't make sense. The Collection should only contain methods that are general for all Collections, such as the contains method. All methods that request, and manipulate the Collection, belonged in other interfaces.
    However, I also realized that the whole smart thing about the current Collection interface, is that you can transfer elements from one Collection to another, without needing to know what type of Collection you were transferring from\to.
    But I still felt it violated "something" out there, even if it was in the name of convenience. If this convenience was to be provided, it should be done by making a separate wrapper interface with the purpose of grouping the various Collection types together.
    If you don't know what I'm trying to say then you might have to see the interfaces I've made.
    And while I as at it, I also fiddled with the various method names.
    For example, add( int index, E element), I felt it should be insert( int index, E element). This type of minor things caused a lot of confusion for me back then, so I cared enough about this to change it to somthing I thought more appropriate. But I have no idea how appropriate my approach may seem to others. : )
    4.
    I see an iterator as something that iterates through a collection, and nothing else.
    Therefor, it bothered me that the Iterator interface had an optional remove method.
    I myself have never needed it, so maybe I just don't know how to appreciate it. How much is it used? If its heavily used, I guess I'm going to have to include it somehow.
    5.
    A LinkedList doesnt' support random access. But true random access is when you access randomly relative to the first index.
    Iterating from the first to the last with a for statement isn't really random access, but it still causes bad performance in the current LinkedList implementation. One would have to use the ListIterator to achieve this.
    But even here, if you want a ListIterator that starts in the middle of the list, you still need to traverse the list to reach that point.
    So I've come up with LinkedList that remembers the last accessed element using the basic methods get, set, remove etc, and can use it to access elements relatively from it.
    Basically, there is now an special interal "ListIterator" that is used to access elements when the basic methods are used. This gives way for several improvements (although that may depend how you look at it).
    It introduces some overhead in the form of if-else statemenets, but otherwise, I'm hoping that it will generally outperform the current LinkedList class (when using lists with a large nr of elements).
    6.
    I've also played around with the ArrayList class.
    I've implemented it in a way, that is something like a random-access Deque. This has made it possible to improvement certain methods, like inserting an element\Collection at some index.
    Instead of always shifting subsequent element to the right, elements can be shifted left as well. That means that inserting at index 0 only requires a single operation, instead of k * the length of the list.
    Again, this intrduces some overhead with if-else statements, but is still better in many cases (again, the List must be large for this to pay off).
    7.
    I'm also trying to do a hybrid between an ArrayList and a Linked list, hopefully allowing mostly constant insertion, but constant true random access as well. It requires more than twice the memory, since it is backed by both an ArrayList and a LinkedList.
    The overhead introduced , and the fact that worst case random access is no better than that of a pure LinkedList (which occurs when elelements are inserted at the same index many times, and you then try to access these elements), may make this class infeasible.
    It was mostly the first three points that pushed my over the edge, and made me throw myself at this project.
    You're free to comment as much as you like.
    If no real discussion starts, thats ok.
    Its not like I'm not having fun with this thing on my own : )
    I've started from scratch several times because of design problems discovered too late, so if you request to see some of the source code, it is still in the works and I would have to scurry off and add a lot of java-comments as well, to explain code.
    Great. Thanks!

    This sort of reply has great value : )
    Some of them show me that I need to take some other things into consideration. Some of them however, aren't resolved yet, some because I'm probably misunderstanding some of your arguments.
    Here goes:
    1.
    a)
    Are you saying that they're were made static, and therefor were implemented in a utility class? Isn't it the other way around? Suppose that I did put them into the List interface, that would mean they don't need to be static anymore, right?
    b)
    A bloated List interface is a problem. Many of them will however have a default not-so-alwyas-efficient implementation in a abstract base class.
    Many of the list-algorithms dump sequential lists in an array, execute the algorithm, and dump the finished list back into a sequential list.
    I believe that there are several of them where one of the "dumps" can be avoided.
    And even if other algorithms would effectively just be moved around, it wouldn't neccesarily be in the name of performance (some of them cannot really be done better), but in the name of consistency\convenience.
    Regarding convenience, I'm getting the message that some may think it more convenient to have these "extra" methods grouped in a utility class. That can be arranged.
    But when it comes to consistency with method names (which conacerns usability as well), I felt it is something else entirely.
    For example take the two methods fill and replaceAll in the Collections class. They both set specific elements (or all of them) to some value. So they're both related to the set method, but use method names that are very distinguished. For me it make sense to have a method called setAll(...), and overload it. And since the List interface has a set method, I would very much like to group all these related methods together.
    Can you follow my idea?
    And well, the Collections class would become smaller. If you ask me, it's rather bloated right now, and supports a huge mixed bag of related and unrelated utitlity methods. If we should take this to the extreme, then The Collections class and the Arrays class should be merged.
    No, right? That would be hell : )
    2,
    At a first glance, your route might do the trick. But there's several things here that aren't right
    a)
    In order to delete an object, you need to know where it is. The only remove method supported by PriorityQueue actually does a linear search. Increase and decrease operations are supposed to be log(n). Doing a linear search would ruin that.
    You need a method something like removeAt( int i), where i would be the index in the backing array (assuming you're using an array). The elemeny itself would need to know that int, meaning that it needs an internal int field, even though this field only is required due to the internal workings of PriorityQueue. Every time you want to insert some element, you need to add a field, that really has nothing to with that element from an object-oriented view.
    b)
    Even if you had such a remove method, using it to increase\decrease key would use up to twice the operations neccesary.
    Increasing a key, for example, only requires you to float the element up the heap. You don't need to remove it first, which would require an additional log(n) operations.
    3.
    I've read the link before, and I agree with them. But I feel that there are other ways to avoid an insane nr of interfaces. I also think I know why I arrive at other design choices.
    The Collection interface as it is now, is smart because it can covers a wide range of collection types with add and remove methods. This is useful because you can exchange elements between collections without knowing the type of the collection.
    The drawback is of course that not all collection are, e.g modifiable.
    What I think the problem is, is that the Collection interface is trying to be two things at once.
    On one side, it wants to be the base interface. But on the other side, it wants to cast a wide net over all the collection types.
    So what I've done is make a Collection interface that is infact a true base interface, only supporting methods that all collection types have in common.
    Then I have a separate interface that tries to support methods for exchanging elements between collections of unknown type.
    There isn't neccesarily any performance benefit (actually, it may even introduces some overhead), but in certainly is easier to grasp, for me at least, since it is more logically grouped.
    I know, that I'm basically challenging the design choices of Java programmers that have much more experience than me. Hell, they probably already even have considered and rejected what I'm considering now. In that case, I defend myself by mentioning that it isn't described as a possiblity in the FAQ : )
    4.
    This point is actually related to point 3., becausue if I want the Collection interface to only support common methods, then I can't have an Iterator with a remove method.
    But okay....I need to support it somehow. No way around it .
    5. 6. & 7.
    The message I'm getting here, is that if I implement these changes to LinkedList and ArrayList, then they aren't really LinkedList and ArrayList anymore.
    And finally, why do that, when I'm going to do a class that (hopefully) can simulate both anyway?
    I hadn't thought of the names as being the problem.
    My line of thought was, that okay, you have this arraylist that performs lousy insertion and removal, and so you avoid it.
    But occasionally, you need it (don't ask me how often this type of situation arises. Rarely?), and so you would appreciate it if performed "ok". It would still be linear, but would often perform much better (in extreme cases it would be in constant time).
    But these improvements would almost certainly change the way one would use LinkedList and ArrayList, and I guess that requires different names for them.
    Great input. That I wouldn't have thought of. Thanks.
    There is however some comments I should comment:
    "And what happens if something is suibsequently inserted or removed between that element and the one you want?"
    Then it would perform just like one would expect from a LinkedList. However if that index were closer to the last indexed position, it would be faster. As it is now, LinkedList only chooses either the first index or the last to start the traversal from.
    If you're working with a small number of elements, then this is definitely not worth it.
    "It sounds to me like this (the hybrid list) is what you really want and indeed all you really need."
    You may be right. I felt that since the hybrid list would use twice as much memory, it would not always be the best choice.
    I going to think about that one. Thanks.

  • Axis Framework in SOAP Adapter in  PI 7.1

    Hi Experts,
    I am working on PI 7.1 . I just need to know all that I can about Axis Framework in SOAP Adapter
    All inputs are welcome.
    Many thanks,
    Neha

    Hi !
    have a look on these links
    Using the Axis Framework in the SOAP Adapter
    http://help.sap.com/saphelp_NW04/helpdata/en/45/a4f8bbdfdc0d36e10000000a114a6b/content.htm
    http://help.sap.com/saphelp_nwpi71/helpdata/en/69/a6fb3fea9df028e10000000a1550b0/frameset.htm
    Have a look at this Pdf
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b092777b-ee47-2a10-17b3-c5f59380957f
    Thanks !
    Abhishek

  • Best use of framework events in application architecture

    Hello,
    I apologize in advance if this is not the appropriate forum to be posting about Flex framework questions.  I considered the Cairngorm forum, but thought the question applied more broadly to all flex frameworks. That, and it seems that the Cairngorm forum isn't really very active.
    My question is about using frameworks for application architecture. Reading the "Introducing Cairngorm" document,  I see that it specifically says that Cairngorm events are just those events that will handle business logic (things like grabbing data from a server, committing data to a server, etc).  So then, how does a view interact with a controller when changing state?
    Let's say I have two or three different views of the same data and I have a buttonbar to switch to the view I want. Is it then typical to dispatch a Cairngorm (or Mate/Swiz/Pure MVC, etc..)  event to the controller to change the view state of the application?  Does this effectively mean that for every button a user can click on, we'll have an event and a command associated with that event to perform some change of state or business logic? With a moderately complicated application, with several different screens, a few forms, a couple of lookups, i.e. lots of buttons for user input, that seems like an awfully huge number of events/commands...? Or do you dispatch a regular old flash Event to handle this? Or does the view data bind to the model to change the view state?
    Obviously there's never any single correct answer to application architecture questions, but I'd like to know if there's any general best practices that I should follow. I don't want to under-architect OR over-architect my app.  I'm new to Flex programming and would like not to code something egregiously ugly.
    Thanks,
    Cory

    Hi,
    Consider this, there is no such thing as an enterprise level RIA, the whole concept behind thin client was to restrict the enterprise requirements to the backend, that being said if we assume that a flex application is specifically for the client end and can maintain its own state and that MVC frameworks are more about enterprise solutions then the whole framework argument becomes what it is, academic BS.
    <start rant>
    Its really simply, in half a century nothing has changed, you have rules and requirements(model), you have access to that(view) and you wrap it up as a program/application(controller) so  why do you need convoluted multilayer abstraction of functionality to make things work ? maybe so those that can't get a real development job can run around and preach at conferences, how else could they feed their adopted kids.
    So all those nice buzzwords, design patterns(the new age terminology for modular architecture), model/view/controller, borg coding(resistance is futile) is all very fine if you want to act smart but producing quality code actually means you are smart. As you may have guessed I am not a strong proponent of MVC frameworks, and I don't even need to get into the argument that everytime a 'framework' expert gets control of a project that isn't done in their MVC  poison of choice it gets a rewrite, clients really love those associated costs and retesting requirements.
    </end rant>
    You only need 1 framework for flex and thats the flex framework.
    Have a read this blog, the section on MVC and Flex is very interesting if not overly polite.
    http://www.herrodius.com/blog/216
    David

  • Linking to a bundled framework

    I got XCode to copy my Framework to "Application.app/Contents/Frameworks", but I can't get it to link because whenever I open this application on another partition without the Framework installed it will return an error (something about not working on this version of OSX) and in the system logs there will be something about said Framework not being found.
    I have tried the following settings for Framework search paths but they result in nothing:
    To recap:
    Step 1: Copy Framework into bundle √
    Step 2: Link application with bundled Framework and not the one in /Library/Frameworks (which the user probably hasn't installed)

    Include the framework as a resource in your application. That way, it will get copied into the application bundle. Then, in a run script build phase, use install_name_tool to tell the application to link against the file in @executable.

  • Adapter framework

    Hi all,
    Is there any blog that explains about adapter framework and adapter engine. If not, can someone please briefly explain me about adapter engine and the architecture? I have read the help.sap links. But still not clear.

    Hi Aarthi  ,
    These r the details regarding Adapter Framework & Adapter Engine.
    Adapter Framework :
    It is a part of the Adapter Engine, which provides interfaces for configuring, managing, and monitoring adapters.SAP XI requires an adapter framework to communicate outside of the SAP system. These adapters translate code from external applications to an XML message for NetWeaver processes using the Java Connector Architecture.Adapter framework (JCA )based integrate application systems and business partners via resource adapters.
    SAP XI provides a set of adapters to connect SAP as well as non-SAP applications with each other and thus to enable them to participate in the exchange of XML messages. An adapter is required to connect other applications or technical systems, or to participate in B2B communication via specific industry standards like RosettaNet. SAP provides certain adapters for use with SAP Exchange Infrastructure, and relies on an ecosystem of partners to provide adapters for other applications or industry standards. These partner adapters are sold and delivered through SAP.
    The SAP Partner Connectivity Kit (PCK) enables smaller companies that do not dispose of an SAP XI installation to connect to SAP XI.
    Customers and partners can also develop their own adapters for SAP XI. To do this, they can use the Adapter Framework in the Partner Connectivity Kit (PCK) and refer to the detailed documentation on adapter development. For more information, see SAP XI 3.0 Online documentation under SAP XI: Runtime &#8594; Connectivity &#8594; Partner Connectivity Kit &#8594; Adapter Development.
    Overview of Adapters for SAP XI 3.0
    Application Adapters
    Technical Adapters
    Industry Standard Adapters
    Mainframe/Transaction Adapters
    Note: All adapters are available from SAP XI 3.0 onwards.
    Adapter Framework provides common functionality for Adapter
    Engine and SAP Partner Connectivity Kit
    Adapter Framework is based on SAP J2EE Engine as part of SAP Web AS.
    Adapter Framework inherits properties and features such as scalability, clustering, high availability, thread management, etc.Adapter Framework provides its own queuing and logging services.Temporary stand-alone operation without connection to an Integration Server is possible, while still providing e. g. guaranteed exactly once messaging to and from connected application system
    Adapter Framework supports J2EE Connector Architecture (JCA)
    JCA is standard architecture for connecting the J2EE platform to
    Enterprise Information Systems (EIS), e. g. ERP, DBMS, etc.
    A Resource Adapter plugs into an application server, providing
    connectivity between the EIS and a Java application
    JCA enabled Adapter Framework provides defined interfaces to
    which both our adapters and 3rd party adapters can conform
    JCA is a widely accepted standard that 3rd party adapter providers
    are familiar with
    Details about architecture of adapter, types of adapter.. can be found at the following web-sites :
    http://help.sap.com/saphelp_nw04/helpdata/en/fd/16e140a786702ae10000000a155106/content.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/sap_xi/sapximst11.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/95d5e190-0201-0010-0daf-e9e270f85ebb
    http://www.erpgenie.com/netweaver/xi/adapters/index.htm
    http://documentation.softwareag.com/crossvision/xie311/admin/config.htm
    http://www30.sap.com/korea/company/events/techday05/img/data_04.pdf
    Adapter Engine :
    You use the Adapter Engine to connect the Integration Engine to SAP systems (RFC adapter) and external systems. You use the various adapters in the Adapter Engine to convert XML- and HTTP-based messages to the specific protocol and format required by these systems, and the other way around.
    The Adapter Engine is based on the adapter framework.
    The Adapter Engine is a separate software component that is automatically installed on the Integration Server. In this case, it is the central Adapter Engine. However, you can also install the Adapter Engine separately on another host. This is then a non-central Adapter Engine.
    The XI Adapter engine is the home of the majority of the XI adapters. Only the IDoc adapter and the plain HTTP adapter do not reside on the adapter engine. They reside on the Integration Server.
    It is fully integrated in to the XI landscape with tools provided for configuration, logistics and monitoring. It's Adapter Framework is based on the JCA
    Details about  Adapter engine can be found at the following web-sites :
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/0a1640a991c742e10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/8f/d906d01f77fa40a4c84683c3f8326f/content.htm
    ********Please reward points if u find this useful
    cheers,
    gyanaraj

Maybe you are looking for