Title: Service Oriented Development with new Sybase Development Tools
1INT407 Introduction to Service Oriented
Development with Sybase Workspace
Karl Reti Director Engineering -
Architect karl.reti_at_sybase.com August 15-19, 2004
2The Enterprise. Unwired.
3The Enterprise. Unwired.
Industry and Cross Platform Solutions
Unwire People
Unwire Information
Manage Information
- Adaptive Server Enterprise
- Adaptive Server Anywhere
- Sybase IQ
- Dynamic Archive
- Dynamic ODS
- Replication Server
- OpenSwitch
- Mirror Activator
- PowerDesigner
- Connectivity Options
- EAServer
- Industry Warehouse Studio
- Unwired Accelerator
- Unwired Orchestrator
- Unwired Toolkit
- Enterprise Portal
- Real Time Data Services
- SQL Anywhere Studio
- M-Business Anywhere
- Pylon Family (Mobile Email)
- Mobile Sales
- XcelleNet Frontline Solutions
- PocketBuilder
- PowerBuilder Family
- AvantGo
Sybase Workspace
4Service Oriented Development
- Contents.
- Issues with current Software Architecture
- What is Service Oriented Architecture (SOA)
- What are Services
- The Value of Services
- What is Service Oriented Development of
Applications (SODA) - Sybase Workspace
- Services in Sybase Workspace
- How does Sybase Workspace help with Service
Oriented Development - Demo
- Summary
5Issues with current Software Architecture
- Software is becoming more complex
- Needs of Organizations has placed a burden on
existing architectures - New needs have surfaced
- More complex environments
- Reuse rather than replace Legacy systems
- Cheap access to the Internet
- Requirements for Heterogeneous applications
- Application Integration top of list for most
enterprises
6Issues with current Software Architecture
- Software development has gone through several
different programming models - Each progression has been to deal with
- Increases in application complexity
- Enablement of easier application assembly
- Reuse of components
- Platform neutral programming
- Platform neutral data
7Service Oriented Architecture (SOA)
- The next Evolutionary Step in Software
Architecture ? - SOA is not new
- CORBA supported SOA
- On Windows COM supported SOA
- Past SOA models lacked
- A consistent Architectural framework across
heterogonous systems - A Rapid Application Development, Integration and
reuse model - Support for dynamic assembly of components
- Lack of simple development tools
- Multiple incompatible transports and protocols
- If these issues can be solved then we have a real
step forward in software architecture. - SOA does indeed provide this step forward.
8Service Oriented Architecture (SOA)
- SOA is not the same as Web Services
- Web Services are a technology, SOA is a set of
technologies independent of any specific one and
in some ways transcends them, yet it is also a
programming model. - SOA is an application architecture where
- All functions (Services) are defined using a
description language - All Services expose an invokable interface to
perform a business function - Each Service interaction is independent of any
other - All interactions are independent of the
communications protocols that support the
interaction - Therefore a client from any device using any
operating system in any language can invoke a
Service - (cont)
9Service Oriented Architecture (SOA)
- SOA is an application architecture where (cont)
- Service Interfaces can be published, discovered
and consumed - Services can be invoked across a network
- Services can be managed
- Security
- Maintenance
- Logging
- Routing
10What are Services
- Dictionary Definition
- An act or a variety of work done for others
(American Heritage) - The work performed by one that benefits others
(Webster) - Service Providers and Service Consumers
- A Service Provider is the Service Implementation
- Service Providers do work on behalf of Service
Consumers - Service Providers hide their implementation
behind an interface - Service Consumers invoke Service providers by
their interface - Service Consumers and Providers are location
independent (to a degree) - Service Consumers and Providers are platform
independent - Service Providers are self-contained and manage
their own state - Service consumers can dynamically locate and
invoke service providers (loose coupling)
11The Value of Services - Non-SOA integration
Application B (Java)
Application A (.NET)
Application C (AS400)
Application D (ERP App)
Application E (Unix App)
Application F (Packaged app)
12The Value of Services - Non-SOA integration
- The box of spaghetti
- Many applications or components need to
interoperate - Only 6 applications yet each application requires
5 separate interfaces - Addition of only one application requires 6 new
interfaces to be developed - Each application or component exposes its own
unique interface - Each interface needs to understand the
implementation of the application or component - Many different operating systems, languages and
communication protocols - Unmanageable infrastructure
- This is why Integration companies did so well in
the 90s
13The Value of Services - Federated Services
Application B (Java)
Application A (.NET)
Application C (AS400)
Application D (ERP App)
Application E (Unix App)
Application F (Packaged app)
14The Value of Services - Federated Services
- Now no box of spaghetti
- Each application or component exposes its own
unique interface via the same description
language - Each interface does not now need to understand
the implementation of the application or
component - The differing operating systems, languages and
communication protocols are now abstracted and
irrelevant to the consumers and providers - A change to the implementation of one Application
or component does not change the interface - A more manageable infrastructure
- Development tools, deployment, configuration and
management can be simplified, unified and made
more consistent. - A new component or application only has to
understand how to find and call an existing
component - This is called Service Oriented Application
Development or Assembly
15The Value of Services - Service Orchestration
Application B (Java)
Application A (.NET)
Application C (AS400)
Service Orchestration
Application D (ERP App)
Application E (Unix App)
Application F (Packaged app)
16The Value of Services - Service Orchestration
- Controlled Coordination
- Services are discovered and invoked via a central
Business Process Orchestration Engine - Services are called via a declarative
orchestration model (BPEL) - Service invocations are modeled via their
interfaces without any detail of their
implementation - An Automated Business Process can leverage and
reuse existing Services - Significantly more manageable and maintainable
- This is called Service Orchestration
17The Value of Services - Standards
- SOA leverages existing standards and standard
technology - Interface description language WSDL
- Data formats XML
- Metadata formats XSD
- Messaging protocol SOAP
- Invocation protocols HTTP, JMS and others
- Orchestration Language BPEL
- Security WS-Security
- Transactions WS Transaction
- Quality of Service WS-ReliableMessaging
- And others
18The Value of Services - Flexibility
- Improve ROI by supporting continual change
- One service can be replaced with another easily
- Leverage existing assets
- Services can easily expose existing applications
and components - Business Relevance
- Services more closely map to Business Activities
- Use and support of industry standards
19The Value of Services
- There are trade-offs though
- Loose or Late coupling means no compile time
checking - Changing an implementation behind the interface
can be good and bad - A plethora of services can sometimes be harder to
manage - Can introduce lazy programming practices
- Requires a cultural change for Architects
- Most of the above can be overcome with awareness
20What is Service Oriented Development
- Service Oriented development is the development
of applications using a services approach. - Service Oriented architecture is the
infrastructure that facilitates Service Oriented
development. - Leverages all the capabilities of an SOA
- Allows the creation and assembly of multiple,
reusable Services - Allows the Orchestration, Composition and
Aggregation of Multiple Services
21Sybase WorkspaceIntegrated Development to build
the Unwired Enterprise
Web App, Mobile, Portal, Data Management,
Integration/Web Services, Enterprise Modeling
Common Frameworks
Eclipse
Sybase Infrastructure Products
22Sybase WorkspaceIntegrated Development to build
the Unwired Enterprise
- Sybase Workspace is an advanced approach in
development that is easy-to-use, flexible and
cost effective. - Sybase Workspace is a unified design and
development tool for developers based on the
open-source Eclipse platform. - Common interface
- Open-source framework and tools
- Leverage tools and technology from many sources
- Seamless environment
- Faster development and better integration between
the companys systems. - Increase reusability of components that will
lower customers technology acquisition costs.
23Sybase WorkspaceIntegrated Development to build
the Unwired Enterprise
- SOA and Web services-based integration
- Point-to-point integration
- Real-time event delivery and notification
- Composite application development
- Application development for web, portal and
mobile environments - Data management and replication
- Model-driven development
24Sybase WorkspaceIntegrated Development to build
the Unwired Enterprise
- A consistent and easy to use development
framework for - Integration
- Portal
- Web / J2EE Applications
- Mobile
- Data Management
- Enterprise Modeling
- Integrated modeling, visual development and
service assembly tools for application
development - Full development lifecycle design, develop,
deploy and debug - Supports the concept of Codeless Development
25Services in Sybase Workspace
- Three styles of Service
- Created Services defined and created in
Workspace - Derived Services implementation currently
exists not as a service - Discovered Services fully deployed Service with
an interface - Tools for creating services
- Service Editors
- Tools for deriving and discovering services
- Enterprise Browser
- Tools for consuming services
- Composite Service Editor
- Business Process Editor
- Service Palette
26Services in Sybase Workspace
- Grouped into Service Types
- Messaging (Queues, Email, FTP, Files etc), Java,
EJB, SOAP, Database, Business Process, Rules,
Transformations, Others - Two parts
- Interface Described by a Service Model that
generates WSDL - End-Point The implementation and configuration
of the Service - Service Consumers
- Composite Editor allows the development of Java
Classes that invoke one or more Services - Business Process Editor allows the
orchestration of Service Invocations without
programming
27Services in Sybase Workspace
- Deployment
- The building, packaging and subsequent transfer
or Services to one or more target runtime
servers. - Testing
- The ability to load and test the invocation of a
service with test data via an interactive client
tool
28How does Sybase Workspace help with SODA
- Allows easy development of a broad range of new
Services - Allows easy creation of Services from existing
components - Standard and Consistent Service development
Infrastructure - Supports consistent configuration and deployment
tooling for Services - Supports integrated Service Testing
- Allows easy development of composite Services
either as Java classes or Business Processes
29Services in Sybase Workspace
30Summary
- Services are good !
- Services improve the flexibility of organizations
- Services help build complex reusable applications
- Services allow enterprises to leverage existing
IT investments - Services support change and migration over time
- Sybase Workspace assists in the development of
Services and supports a SOA and implements SODA - Sybase Workspace allows many other Sybase
products to gain access to and leverage Services.
31