Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to...
Transcript of Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to...
![Page 1: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/1.jpg)
Chariot Solutions
Kicking the Tires on the
Bus
ETE
![Page 2: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/2.jpg)
The Problem
• Being asked by clients to assist in evaluating and implementing SOA solutions
• Many products
• Development Environment: Traditional (app server under the IDE) vs. SOA (multiple endpoints and communication protocols)
• Vendor tutorials limited
– “Hello World” BEPL?
– mvn jetty:run
– Click this, Drag that
![Page 3: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/3.jpg)
What Does SOA Do?
• The Service
– Receive a message
– Take its time processing it
– Finish successfully (or not)
– Report results (or not)
• Architecture
– Respond to “evolving” business use cases
![Page 4: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/4.jpg)
An Approach
• Figure out how to create configurable POJOSs to mimic service endpoints
– Protocol
– Performance
– Behavior
– Response
• Design a use case
• Implement that use case using various SOA product suites
![Page 5: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/5.jpg)
Protocol interface: Mule
• Reasonably Mature
• Easily Embedded
• Good Documentation
• Lots of Examples
• Straightforward Design
![Page 6: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/6.jpg)
Protocol interface: Mule
<model name="basicJMS"> <mule-descriptor name="jmsComponent" implementation="SuccessfulStandardServiceWithFileResponse"> <inbound-router> <endpoint address="jms:///FileResponseJmsQueueTest" remoteSync="true" connector="jmsConnector" /> </inbound-router> </mule-descriptor> </model>
<model name="basicWS"> <mule-descriptor name="pojoFileResponse" implementation="SuccessfulStandardServiceWithFileResponse"> <inbound-router> <endpoint address="axis:http://localhost:65082/services" remoteSync="true"> <properties> <map name="soapMethods"> <property name="processMessage" value="message;string;in,return;string"/> </map> </properties> </endpoint> </inbound-router> </mule-descriptor> </model>
![Page 7: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/7.jpg)
Everything Else (Spring POJO)
<bean id="SuccessfulStandardServiceWithFileResponse" class="com.chariotsolutions.soaservice.service.StandardServiceWithResponseImpl">
<property name="responseTimer" ref="SimpleResponseTimer"/><property name="archiver" ref="StringToFileArchiver"/><property name="verifier" ref="BooleanVerifier"/><property name="response" ref="FileResponse"/>
</bean>
• Performance
• Behavior
• Response
![Page 8: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/8.jpg)
Problem and ... Another Problem
• Problem
– Spring application needs protocol translation
• Solution
– Embed Mule
• Problem
– Application starts a Spring application-context
– Mule starts a Spring application-context
– 2 Spring application-contexts are not better than one
![Page 9: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/9.jpg)
Solution: SpringMuleBootstrap
• Solution
– The SpringMuleBootstrap class(http://mule.mulesource.org/jira/browse/MULE-659)
<!-- In your Spring applicationContext.xml --> <bean id="muleManager" class="org.mule.extras.spring.config.SpringMuleBootstrap"> <property name="configResources" value="classpath:/../mule-config.xml"/></bean>
• Nice Because:
– Configure Mule in Mule
– Configure Spring in Spring
– Share between the two
![Page 10: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/10.jpg)
Exit to Demo
![Page 11: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/11.jpg)
Okay, BUT....
(+)• Learned a lot
• Easy to get going
• Reusable
(-)• Shallow
• Lacked Visual Appeal
![Page 12: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/12.jpg)
The Solution
• Define a use case
• Build the applications
– Generic
– Flexible
– Lightweight frameworks
– Small footprint
• Implement
![Page 13: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/13.jpg)
The use case
• Submit an event with the Emergency Alert System (EAS)
• Access CRM System to get a contact list based on the group to contact
• Schedule the conference call with the Conference Call System (CCS)
• EAS updated with the conference call details
• Notify contacts via:
– Interactive Voice Response(IVR)
• EAS updated with the notifications sent
• IVR Notification Response received
• EAS updated with contact response
![Page 14: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/14.jpg)
SOA Lab Endpoint Applications
• Emergency Alert System
• CRM System
• Conference Call Scheduler
• IVR System
• Email System
• Notification Service
![Page 15: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/15.jpg)
SOA Lab Endpoint Applications Architecture
• The endpoint application stack
– Spring MVC - Web layer
– Spring - IOC container
– Mule - Protocol interface
– Geronimo - Application server
– ActiveMq - JMS
– Derby - DB
![Page 16: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/16.jpg)
Sun JCAPS Implementation
• Java Composite Application Platform Suite
• Formerly SeeBeyond
• The Future is OpenESB
![Page 17: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/17.jpg)
Sun JCAPS: Business Process
![Page 18: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/18.jpg)
Sun JCAPS: Queue Design
![Page 19: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/19.jpg)
Sun JCAPS Implementation
![Page 20: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/20.jpg)
Exit to Demo
![Page 21: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/21.jpg)
The SOA-Lab Pipe Line
• CapeClear• OpenESB• ServiceMix• JBoss• BEA Aqualogic
![Page 22: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/22.jpg)
Conclusion
• No SOA in a box
• All frameworks require expertise to implement
• SOA needs to be approached top down
– Establish use cases
– Evaluate based on those use cases
– Lab test against the use case
• Your Bus Is Just a Service on Your Bus
![Page 23: Kicking the Tires on the Bus - chariotsolutions.com...The Problem • Being asked by clients to assist in evaluating and implementing SOA solutions • Many products • Development](https://reader034.fdocuments.in/reader034/viewer/2022043022/5f3dd4600c3c2b06bc0d14a0/html5/thumbnails/23.jpg)
Obligatory Self-Promotion
• ME:
– Email: [email protected]
– Blog: http://tompurcellstechblog.blogspot.com/
• My Company:
– http://www.chariotsolutions.com
• Others:
– Mule: http://mule.mulesource.org
– JCAPS: http://www.sun.com/software/javaenterprisesystem/javacaps
– ServiceMix: http://servicemix.apache.org
– soapUI: http://www.soapui.org/