Why Spring and OSGI in CEP? - Complex Event Processing

I would like to understand the relevance/importance of Spring and OSGi in Oracle CEP. Documentation is helpful to an extent, but I would want someone explain this in simple terms.
Thanks & Regards,

I can explain this briefly. Spring is the basis for the programming model in Oracle CEP. What this means is that an Oracle CEP application is a Spring application, or more specifically a Spring DM application. So, developers that are familiar with Spring will find that they can use virtually all of their Spring skill set when creating CEP applications.
OSGi is less visible to CEP developers. OSGi provides modularity for the underlying implementation of the CEP product which helps to make it a lightweight stack and also helps keep the complexity of the product under control overtime as the product evolves.
Lots more I could say, but I hope that answers your basic question.


Oracle Service Bus (OSB), Eclipse --- and statement of direction

Can somebody please explain what this means in: http://www.oracle.com/technology/products/integration/service-bus/docs/Oracle-Service-Bus-SOD.pdf
+...The web-based console was complemented in the 3.0 release with full IDE support in Eclipse. The Eclipse capabilities will be ported to Oracle JDeveloper to provide a one-stop IDE for all SOA design needs. Until that port is complete, customers will still be able to use the Eclipse environment as IDE (in addition to the web-based console)...+
More specifically: what will happen to the Eclipse OSB plugin/workshop once the JDeveloper port is complete?
A) will it cease to exist and/or be terminated?
B) will it remain as is, without keeping the functionality in synch with new stuff in JDev?
C) will it continue to evolve side-by-side with JDev?
As an Eclipse user, I asked the same questions to our local Oracle consultants sometime ago. It was very hard for them to answer that clearly. They finally admitted that there is no roadmap concerning IDEs yet and that there is even ongoing dispute inside Oracle about it.
It seems that JDeveloper is a preferred IDE in Oracle and sooner or later it will become the only one IDE for SOA Suite and related applications.
I understand their need for "one IDE for everything", because it is unsustainable for long-term to support two different IDEs (not to mention the third one which is Sun's NetBeans). They probably support Eclipse only because of large customer base of BEA products.
Please, remember that all of the above is just a mixture of unofficial information and thoughts. :-) 
SOD is unclear - that's for sure. Given the fact that the majority of the Java/JEE community out there doesn't use JDev, I think Oracle can't afford to neglect the fact that Eclipse (and Netbeans) have a far higher level of adoption. My suggestion would be for them to integrate functionality of Netbeans into JDev and to keep Eclipse (with BEA Workshop stuff integrated into it) on par with that. This way Oracle can support both:
a) customers/developers opting for an 'all-in' Oracle (Fusion) middleware/database approach
b) customers/developers that want to stick with Eclipse - not specifically tied in to the complete OFM stack
But then again - nobody is asking me :-)
Any Oracle PM care to comment? That would be appreciated!
There is clearly reason for confusion, as is also pointed out by this comment: http://www.infoq.com/news/2009/11/oracle-sun-palns
Hope there is somebody willing to step up, and answer these questions. 
Just read Shay's blog post on JDeveloper vs Netbeans: http://blogs.oracle.com/shay/2009/11/jdeveloper_or_netbeans_-_what.html
He includes a Jobtrends graph comparing both. He has a valid point there, so let's do the same for Eclipse and JDeveloper: http://www.indeed.com/jobtrends?q=eclipse%2C+jdeveloper&l=&relative=1
Still hoping to get some more insight from an Oracle PM on this topic...
So guys - what's the deal?
Thank you,
I think it is clear that Oracle will remain commited to Eclipse in terms of deploying java applications to WebLogic, they will provide some plugins for some time to come. You will however see oracle specific products, such as OSB, Portal, etc removed from Eclipse and ported to JDev. The reason for this is that Oracle can release new releases within their timeframe. If Oracle rely on Eclipse to deliver some functionality before they can release new products then they will be doing their customers a disservice.
This statement in the SOD clearly states that JDev is the strategic platform and the Eclipse IP will be ported to JDev in the future:
Design-Time Environment
JDeveloper is the IDE of choice for SOA development at Oracle. AquaLogic Service Bus users have traditionally been using the web-based console to design, manage and monitor ESB flows. The web console is a key differentiator for ALSB (now Oracle Service Bus) and will therefore remain a primary design
environment moving forward.
The web-based console was complemented in the 3.0 release with full IDE support in Eclipse. The Eclipse capabilities will be ported to Oracle JDeveloper to provide a
one-stop IDE for all SOA design needs. Until that port is complete, customers will still be able to use the Eclipse environment as IDE (in addition to the web-based
Is this porting complete ? Do we still need to install Eclipse IDE ? 
Do we still need to install Eclipse IDE ?Eclipse IDE is avaialble with latest releases of OSB for design time development. OSB design time support in JDEV is not released.

ADFBC future?

I'm wondering about this. As I browsed through JDev 11 tutorial, I didn't see any using ADF Business Component. Most of them are using JPA. Does this indicate ADF BC will fade away? For the brand new application without existing code, does the ADF BC still the best recommended model to be used? With the new JDev11, what differences and pros/cons are between using ADFBC and JPA?
The cue cards delivered in the JDeveloper 11 preview contain how-tos for ADF BC. ADF BC is not fading away anytime soon. Oracle has a significant investment in ADF BC as our applications developers rely heavily on it to build Oracle’s next generation applications software. Furthermore, Oracle’s customers also have significant investments in this technology and Oracle is committed to providing them with a product that incorporates much of the feedback we have received since our last release.
As for our recommendation in deciding whether to use ADF BC or JPA, we adhere strictly to a mantra of choice. Meaning that JDeveloper and OC4J fully support both DT and RT for either technology, and it is up to you to decide which technology better suites your needs in terms of development methodology, and overall mind set. As a guide line we generally point Forms developers who are new to the world of JEE to ADF BC, though ADF BC is equally capable in the hands of a JEE veteran, For the more Object Oriented mind, JPA may represent a better choice than ADF BC. Again, these are simply guidelines, and at the end of the day Oracle is committed to both technologies, ensuring that you have a choice of implementation.
Thank you,
It is some differences in the way adf bc and jpa are integrated at the data control layer.
ADF BC is a little bit more integrated in the IDE for that. By example data control are implicit in adf bc and have to be created with jpa. It is some differences in the refreshing too. With jpa you have to take care of the refreshing your cache when using the methods that inserts new rows in the database by example.
These are little things ... but it is some little things that help the life to be easier and more comfortable !
It is a lot of advantages to use jpa too ... and really i'm not able to do a choice regarding the technology. As Ric say's this a people choice ... what do you prefer ... what your developers prefer because they "think" like the technology.
I never see any performance comparison between both technology so i'm not able to say anything about that. I regret.
Best regards 
Thanks for your advises, both of you.
We are using JBoss. If we use JPA with ADF Faces without ADF BC, do we still need to have license for ADF/Toplink? Is the license specifically for ADF BC or the whole-stack ADF?
One more thing, if we have to pay for it, at this transition period, I'm wondering if the ADF10g license is upgradable to 11g. Or should we wait and purchase the new version?
I know these are not really technical related, but any suggestion would help.
Thanks again! 
Deployment of ADF Faces RC and Toplink to JBoss does incur license fees. Deploying Apache Myfaces Trinidad and EclipseLink (or Toplink essentials) does not.
For questions regarding license upgrades, please contact the Oracle sales team.
Thank you,
One more thing that is under the ADF license is the ADF Binding layer.
So even if you are using Trinidad and JPA - if you are using the easy binding that ADF provides you need to license it.
If you are paying support for ADF it include upgrade license, so you can buy ADF today with a support license and you'll be covered for 11.

Does SOA 11g TP3 support SCA components based on SCA Java Programming Model

I would like to create SCA components using SCA's Java Programming Model (using annotations based on org.osoa.sca.annotations package) and deploy them to the Integration Server/11g SCA run time. However, I am not sure whether that is supported (I cannot find the org.osoa.sca.annotations.Remotable class nor the Reference annotation class. The list of shipped library also does not contain an entry that looks very promising.
So before I dive in too deep: can anyone tell me whether or not the SCA Java Programming Model is supported in this TP3 release?
Indeed, the new SOA assembly editor (leveraging SCA) is included in this technology preview. We have a tutorial that will highlight this. It is available here:
Let us know how this works for you!
Thanks for your reply. However: I was very much aware of the SCA capabilities in general - and had my first SOAHelloWorld App running a few days ago. However, I am specifically wondering whether in addition to BPEL and Mediator based SCA Components, I can also create plain Java (or Spring) based SCA Components with the 11gTP3.
I have not seen any mentioning of plain Java Components in the end-to-end tutorial (the 105 PO story). Hence this question.
Sorry, I should have read your post more carefully - your question was quite clear.
No, Java components are not supported at this point.
Is there a target date or product release for when Java Component model will be supported? We consider this a key feature of SCA for being able to create custom components and extend functionality. 
Is sca java be supported in the first release of soa suite 11g, and what is planned release date of the soa suite 11g
thanks Edwin 
Official release for 11gR1 is still CY2008. Sorry we can't be more specific yet.
Not sure when the Java component will show up. In the meantime, you can put your java into the bpel (java activity) or simply make it a web service and call it that way from your composite.

SCA  and C++ component support

We are evaluating SOA solution for a customer financial product, which is based heavily on C++. How will Oracle 11g with SCA, support integrating C++ application, apart from BPEL and mediator component?
Is it in the roadmap and when can we expect this to be GA?
good point. I would be very interested in this, too. I think having a C++ and Java SCA implementation type is really desirable. We did some prototyping using Apache Tuscany and the results are quite promising.
Any information if and when Java or C++ implementation types will be available in Oracle 11g?
best regards
For now, you can either use JDev to make your java a web service and call it from the composite or you can put java directly into a bpel java activity.
Sorry but I don't have a roadmap for the java component.

Document Workflow

I need to build Document Workflow for small company as a project for my thesis.
The subject of this project is "Document Workflow system based on BPEL technology" and I chose Oracle BPEL Process Manager. The problem is I don't have such a wide knowledge about Oracle's technologies and I don't know how would I do this in the easiest way.
I plan to create all BPEL processes in JDeveloper and GUI in Oracle ADF 11g, but I don't know which technology use to provide security and user management stuff. I consider Oracle Identity Management but I'm worrying if this is too big for my project. Maybe should I do a separate webservice which would be responsible for access management for other webservices.
Any tips and suggestions would be very useful.
Hi Maciek,
I'm currently working on a SOA project, and in some business processes we integrate with Content Services (Document Management System from Oracle) to store scanned documents electronically. We also use OID as security provider and for identity management.
Since you're working on a thesis and may have limited time (?) maybe first of all you want to get it working using file-based JAZN as security provider (default security provider, also for BPEL Human Workflow). Later on, if your Document Workflow process(es) are in place, you could try to configure OID as security provider. See the BPEL Administration Guide for details on switching from file-based JAZN to OID.
Also, 11g is still a Technology Preview, so you can expect some bugs and strange behaviour. Maybe using 11g is part of the thesis, but it could give you some unexpected issues. Did you consider using 10g?
Regards, Ronald 
Hi Ronald,
Huge thanks for your reply.
Initially I considered using ADF 10g but when I saw 11g I said WOW! and my first thought was that 11g would facilitate many things. But as I said before I don't know these technologies and I can't say which is better. You're right about using JAZN. Maybe OID is a good thing but not in my case. I think it's too big for such small project. This system should manage 4-5 documents.
Maybe is there alternate way to create GUI for my project? Faster? Simplier?
Hi Maciek,
Yeah, that's the same reaction I always have when seeing cool demo's on new stuff :-) When you see the demo's on SOA 11g, WebCenter 11g, Coherence, etc. all of a sudden you just really want to have some sort of problem you can fix with these new tools ;-)
I think it would be a good thing for you to consider the pro's and con's of using ADF 11g versus ADF 10g. Does the new functionality (perhaps ADF task flows) add up to the likely issues you're going to encounter when using bleeding-edge technology (a Technology Preview is not suitable for projects that go into production).
I think ADF would be a good choice for building GUI's. But it all depends on your skills with ADF and possibly other alternatives for building GUI's and their possibilities to easily integrate with the toolstack you've chosen. If you have much more experience in Eclipse SWT, Swing, etc. and you have to finish the thesis in a short time-frame I would suggest using technology you are more experience in. E.g. integrating Human Task Flows in your GUI can also be achieved using other tools.
Regarding OID, you can always try to configure OID if you have time left at the end of your thesis. But then again I don't know the requirements for your thesis, maybe the use of LDAP is required :-) But starting small and not having multiple technical complexities at once is always a good thing. So don't start of with ADF 11g, OID, BPEL and ESB if all this technology is pretty new to you. Then try starting simple (e.g. no OID in the beginning).
Regards, Ronald