Title: Service Oriented Architecture SOA
1Service Oriented ArchitectureSOA
- Mark A. Malinoski
- IT Technical Lead/Web Development
- American Education Services
2What is SOA?According to Mark )
3What is SOA? Part 2
- SOA should be business oriented
- SOA is a way of thinking
- SOA is not Web Services
- Loosely coupled architecture that uses messaging
- Enriched by creating composite apps
- Move from batch to real-time
4Some Goals of SOA
- Build reusable business components (Services)
- Reliable
- Managable
- (Service locators/directories)
- Provide agility and flexibility
5Why SOA
- To gain some type of ROI
- Internal (for the organization)
- External (for customers or partners)
- To be competitive
- Time to market
- More robust applications
6Requirements for SOA(from IBM)
- Leverage existing assets. Existing systems can
rarely be thrown away, and often contain within
them great value to the enterprise.
Strategically, the objective is to build a new
architecture that will yield all the value hoped
for, but tactically, the existing systems must be
integrated such that, over time, they can be
componentized or replaced in manageable,
incremental projects. - Support all required types or "styles" of
integration. This includes - User Interaction -- being able to provide a
single, interactive user experience - Application Connectivity -- communications layer
that underlies all of the architecture - Process Integration -- choreographs applications
and services - Information Integration -- federates and moves
the enterprise data - Build to Integrate -- builds and deploys new
applications and services.
7Requirements for SOA (more from IBM)
- Allow for incremental implementations and
migration of assets. This will enable one of the
most critical aspects of developing the
architecture the ability to produce incremental
ROI. Countless integration projects have failed
due to their complexity, cost, and unworkable
implementation schedules. - Include a development environment that will be
built around a standard component framework,
promote better reuse of modules and systems,
allow legacy assets to be migrated to the
framework, and allow for the timely
implementation of new technologies. - Allow implementation of new computing models
specifically, new portal-based client models,
Grid computing, and on-demand computing.
8SOA Provides
- Services defined through standard interfaces so
they can support multiple purposes - Find services through discovery process
- UDDI
- (Universal Description, Discovery, and
Integration) - Central Repositories (LDAP)
- Messaging implements the interface
- SOAP
- JMS
- MQ Series
9Tool Support
- Business Process Modeling (BPM)
- Business Process Execution Language (BPEL)
- Process Servers
- Enterprise Service Bus (ESB)
- Web Services (SOAP, WSDL, UDDI)
- Messaging Tools (MQ Series, ActiveMQ)
- Adapters to Legacy Systems
- 3rd Party Tools IvoryGT
10AES Challenges
- Expose business rules embedded in traditional
green screen applications - Leverage existing investments
- Existing COBOL code (Millions Invested)
- Websphere MQ, Websphere Portal, Websphere App
Server - Create more robust applications
- Move all applications to web based UI
- Self servicing applications
- Implement more robust client technologies
- JSF, AJAX (Browser)
- Portal technologies (JSR168)
11What has AES done with SOA
- Group formed about 1 year ago to formulate a
strategy for SOA - Technology centric
- 2 pilots
- Repayment Schedules (Split Target, MQ Message
Broker, WebService) - Auto-capture (Existing CICS transactions, IvoryGT
Workflow and Services, WebService)
12Messaging Pilot(Repayment Schedules)
13Technologies
- DTS Clients from Internal Web Apps
- DTS Service
- IBMs Websphere MQ and MQ Broker
- Broker role was minimal for this pilot
- CICS Bridge Facility
- Extracted COBOL business rules
- (Comm Area Subroutines)
- Dynamic Routing of the program request
14Ivory GT Pilot (Auto-capture)
15Technologies
- DTS Clients from Internal Web Apps
- DTS Service
- IvoryGT Service
- IvoryGT Client
16Where is AES going with SOA
- Old group is being disbanded
- Too large
- Resources not dedicated
- keep the train moving syndrome
- New smaller dedicated group formed
- Meet 3 days a week for 8 hours each day
- Focused on more than technology Governance,
Roles and Responsibilities, SDLC
17Goals of the SOA Team
- Recommend a Service Oriented Architecture for AES
- Develop guidance for supporting and managing the
SOA environment - Develop implementation recommendations for SOA
18Conclusions
- SOA is evolving
- Tools are evolving
- Need flexible architecture to meet the ever
changing needs of our business - Need SOA to be competitive
- SDLC integral in making SOA succeed
19Questions/Discussion
20SOA A J2EE Perspective
- David B. Sheesley
- Principal Solutions Architect
- Priority Technologies, Inc.
21Service Oriented Architecture
- Services
- Business
- One party delivers whats requested by another
- Loosely coupled - Mergers, partners, choice
- Agility, flexibility
- Technical
- Rethinking software development paradigm
- Agile Methods, Extreme Programming (XP)
- Getting more closely aligned w/business paradigm
- Loosely coupled through new technologies and
techniques
22SOA Promise
- Business Services
- Bind lower-layer services into a business purpose
- Define processes and services using business
rules and best practices - UI for drag, drop, and click development
- SOBA - Service Oriented Business Application
23SOA Layers
- Process Orchestration
- Non-technical, no coding
- BPM
- Service Orchestration
- Technical, no coding
- ESB
- Service Enablement
- Technical, coding
- Web Services
24SOA Responsibilities
- Integration and Orchestration
- Connectivity Messaging
- User Interface - Workflow
- Process Control
- Component Integration and Reuse
- Information Integration
25Implementation Approaches
- ESB - Enterprise Service Bus
- Messaging backbone
- Integration engine
- Core component of SOA implementation?
- Portal, enriching Web-client technologies
- AJAX
- Process Server BPEL, BPM, BAM
- Application Server
- Services registry and repository UDDI
- Industry frameworks
26Java Specification
- JBI - Java Business Integration
- JSR 208
- Big players not in agreement on JBI
- From Sun
- Defines the core of a service oriented
integration bus and component architecture for
SOA. It standardizes the common message routing
architecture, plug-in interfaces for service
engines and bindings, and a mechanism (Composite
Service Description) to combine multiple services
into a single executable and auditable unit of
work.
27JBI Components
- NMR Normalized Message Router
- Maps context-specific data to protocol neutral
abstraction (WSDL) - Metadata properties for security, transaction,
etc - Bindings
- Handles protocol-specific issues
- normalize/de-normalize messages
- Uncouples consumer and provider
- Service Engines
- Handles orchestration, rules, transformations
- BPEL, XSLT
28Messaging
- Loosely coupled
- SOAP
- JMS
- Delivery Responsibilities
- Transformation
- Routing
- Augmentation
- Notification
- Security
29Business Drivers
- PTI - ISV
- Customers demand choice and customization
- SOA helping PTI to componentize its software
portfolio so customers can purchase only what
they need - PTI Service Provider
- Support customers who do not want to implement a
service, but still need to use it
30Business Drivers
- Customers need flexible software components
- Integrate with existing legacy systems
- Comply with the ever changing requirements and
mandates of government regulated industries - OFAC
- Default Fee Billing (GFee)
31Pilot 1 Business OverviewPost Office Delivery
Service
- Routes loan applications between a school-based
system and a guaranty system - Real-time response
- Loosely coupled interface
- XML - not a file layout anymore
- Replaces file-based delivery service
- Batch
32Pilot 1 Tech Overview Post Office Delivery
Service
- SOAP Web Service
- WSDL
- HTTP
- Pre-ESB - not yet on the bus
- Hard-coded connectivity
- Not as configurable as the ESB approach
33Pilot 1 DiagramPost Office Delivery Service
34Pilot 2 Business Overview Correspondence
Service
- Provides letter generation upon request
- Letter format based on templates
- DAA Report for schools
- Request does not have to wait for response
- Asynchronous
- Document generation can be time-consuming
- Output types
- Text, HTML, PDF
- Destinations
- Email, Printer
35Pilot 2 Tech OverviewCorrespondence Service
- EJB Message-Driven Bean
- JMS queue
- On the bus
- Open source environment
- ServiceMix - ESB
- Geronimo J2EE application server
- Tomcat - Web container
- ActiveMQ JMS provider
36Pilot 2 DiagramCorrespondence Service
37Conclusions
- Specs-Standards early and evolving
- Disagreement-Confusion
- What is SOA? Is ESB essential to SOA?
- Marketing - vendor positioning, FUD
- One size does not fit all
- Getting started
- Open source pilot
- Focus 1st on Messaging and Component Integration
- enablement and orchestration - Smaller processes/services
- Document lessons learned/best practices
38Questions/Discussion