Title: cwhsueh@csie.ntu.edu.tw
1Real-Time System Development ?????? SOA Service-O
riented Architecture
- ???
- cwhsueh_at_csie.ntu.edu.tw
- http//www.csie.ntu.edu.tw/chsueh/
- 95 Fall
2Preface
- ??????????????
- ???????, 930618, ???
- ??????????, 930929,???,???????????????
- Enterprise Middleware
- SOA
- "Things should be made as simple as possible, but
no simpler." -- Albert Einstein - Simple is not easy!
3(No Transcript)
4?????????
5??????????????
61.???????
???? 96?????? 93?????
????? 1.???? ??????? 602020 2.??2400??? 1.93???????????1500??? 2.93???????(??) ???????701515?
????????????? 1.???????? ???290??? 2.???????400 ??? 1.93?????????????250??? 2.93???????????240???
?????? ???5500??? ??93???3600??
?????????? ???500??? ??????????5???,?????330???
????????? ????800??? ????2.2??,???620???
????????? ????200?? ? ??93???240???
?????? ?????2,500?? ????1,600??,????8??
7????
?? ????(??) ????(??) ????(??) ????(??) ????(??) ????(??) ????(??) ????(??)
?? 91 92 93 94 95 91 92 93
??? 6,529 8,188 10,783 12,939 15,912 2,238 2,268 2,720
???? 3,006 4,162 6,620 9,500 13,700 1,015 1,199 1,591
???? 1,537 1,892 2,268 2,900 3,700 78 87 108
???? 1,109 1,250 1,377 1,585 1,897 203 215 250
?? 12,181 15,492 21,048 26,924 35,209 3,534 3,769 4,669
??93???????????
8 3.? ??? ???????????
????
?????
????? ??????? ??????? ???????? ??????????????? ???
????? ????? ????? ????? ????? ????? ???????
????????6.1? ????????????8.0?
????
????? ????? ????? ????? ?????
??????? ????? ??????? ?????
???????
????????????????????????????????????????
9 3.?????,????????????
104.??ABCDE??,???????
?????
??????
????????
????? ???? ???? ???? ???????
?? ?? ?? ?? ?? ?? .? 1,800?
?? ?? ?? ?? ??? .? 15?
IBM HP Compaq 3?
????? ???? ????
B??
A??
????240? ????212? ????979? ? ?3955??
IBM ??20? Compaq ??10? HP ??12? ? ?42??
??? - ???????????????(?????????????180???) -
????????????(1800????????????????????) -
??????????(?????????????????????????) -
??????????????(??????????????????)
????(?????) ????? 95?98.4 ,??22???4.3??,????
3.5??1.5?
11?????
????????????????...
?? ??? ??? ?? ?? ..
?????????
???? ???? ?????? ??????
D ? ?
? ?
Delivery
E??
C??
?????? ?????
????/???? ?????? ????????
???????? ????????
???? ????
???????????? ?????????????.
CDE???? -????92???120?,93??1??230?,93??????600?
-????????12??????????????,??????
????????Hub?16?? -????????19??????164?????????????
??????????????
12????-?????????
13Focus on Enterprise Middleware
- Why?
- Who?
- What?
- When?
- Where?
- How?
14Introduction to SOA
- Service-Oriented Architecture
- a Standard fOr Architecture description
- Society Of Actuary
- Society Of Ancients
15What is an Architecture?
- "The architecture of an IT system is the
structure or structures of the system, which
comprise software and hardware components, the
externally visible properties of those
components, and the relationships among them."
(Adapted from Bass et al.1)
16What is a Service-Oriented Architecture (SOA)?
- SOA is an architectural style whose goal is to
achieve loose coupling among interacting software
agents. - A service is a unit of work done by a service
provider to achieve desired end results for a
service consumer. - Both provider and consumer are roles played by
software agents on behalf of their owners.
17Service-Oriented Architecture (1)
- An accepted industry model for representing
applications on the network as reusable services.
- Various interface standards exist for these
services. - range from DCE/RPC and CORBA,
- DCE source code is now available under an Open
Source license (LGPL). - through stored procedures
- to Web Services.
- An architectural style whose goal is to achieve
loose coupling among interacting software agents.
18Service-Oriented Architecture (2)
- In all cases, requests are made of the services
by a calling application that expects some form
of reply often referred to as request/reply. - A fundamental element of Service-Oriented
Architectures is the separation of interface from
implementation. - This enables a more loose coupling between the
service consumer and the service provider. - The separation is enabled by means of a metadata
layer that makes the interface definition
available at design time.
19How does SOA achieve loose coupling?
- Employing two architectural constraints
- A small set of simple and ubiquitous interfaces
to all participating software agents. - Only generic semantics are encoded at the
interfaces. - The interfaces should be universally available
for all providers and consumers. - Descriptive messages constrained by an extensible
schema delivered through the interfaces. - No, or only minimal, system behavior is
prescribed by messages. - A schema limits the vocabulary and structure of
messages. - An extensible schema allows new versions of
services to be introduced without breaking
existing services.
20Additional Constraints
- There are a number of additional constraints one
can apply on SOA in order to improve its
scalability, performance and, reliability. - Stateless Service
- Stateful Service
- Idempotent Request
21Deriving Web Services from SOA
- A web service is a SOA with at least the
following additional constraints - Interfaces must be based on Internet protocols
such as HTTP, FTP, and SMTP. - Except for binary data attachment, messages must
be in XML - There are two main styles of Web services SOAP
web services and REST web services.
22SOAP Web services
- Except for binary data attachment, messages must
be carried by SOAP. - The description of a service must be in WSDL.
- A SOAP RPC web service breaks the second
constraint required by an SOA.
23REST Web Services
- Interfaces are limited to HTTP. The following
semantics are defined - HTTP GET is used for obtaining a representation
of a resource. A consumer uses it to retrieve a
representation from a URI. Services provided
through this interface must not incur any
obligation from consumers. - HTTP DELETE is used for removing representations
of a resource. - HTTP POST is used for updating or creating the
representations of a resource. - HTTP PUT is used for creating representations of
a resource. - Most messages are in XML, confined by a schema
written in a schema language such as XML Schema
from W3C or RELAX NG. - Simple messages can be encoded with URL encoding.
- Service and service providers must be resources
while a consumer can be a resource.
24An SOAnot just Web services
- Within a business environment, a pure
architectural definition of an SOA might be an
application architecture within which all
functions are defined as independent services
with well-defined invokable interfaces, which can
be called in defined sequences to form business
processes. - two critical characteristics to be realized
- the services are truly independent,
- they can be managed.
25Management includes
- Security
- to authorize requests, encrypt and decrypt data
as required, and validate information. - Deployment
- to allow the service to be moved around the
network to maximize performance or eliminate
redundancy to provide optimum availability. - Logging
- to provide auditing and metering capabilities.
- Dynamic rerouting
- to provide fail-over or load-balancing
capabilities. - Maintenance
- to manage new versions of the service.
26What is a service?
- a simple business capability
- getStockQuote, getCustomerAddress or
checkCreditRating - a more complex business transaction
- commitInventory, sellCoveredOption or
scheduleDelivery - a system service
- logMessageIn, authenticateUser
27Why migrating to a service-oriented architecture?
- Problems
- Complexity
- Enterprise Application Integration (EAI) tops the
priority list of many CIOs - redundant and nonreusable programming
- as a result of mergers and acquisitions
- multiple interfaces
- the n(n-1) integration problem
28What about the future?
- Java technology has provided platform-neutral
programming. - XML has provided self-describing,
platform-neutral data. - Web services have removed another barrier by
allowing applications to interconnect in an
object-model-neutral way. - For example, using a simple XML-based messaging
scheme, Java applications can invoke Microsoft
.NET applications or CORBA-compliant, or even
COBOL, applications.
29Common Misconceptions about SOA
- Web services are just like distributed objects
- Web services is RPC for the Internet
- Web Services need HTTP
- Web services need web servers
- Web services are reliable because they use TCP
- Web services debugging is impossible
30Distributed Computing Environment (DCE)
31Enterprise Workframe Architecture
32Where to Open?
J2EE .NET CORBA DCOM DCE Websphere Biztalk
Back-end
Front-end
Company A Service 1
interfaces to open
33Enterprise Middleware Platform
??
??
??
??
open
open
open
middlewares
Open ?? Middleware Interface
Open Interface Platform
J2EE, CORBA, .NET,
34Reference
- ????????
- http//w2kdmz1.moea.gov.tw/chief/up/930618???????.
ppt - http//w2kdmz1.moea.gov.tw/chief/up/930929????????
??.ppt - What is Architecture?
- What is Service-Oriented Architecture?
- Migrating to a service-oriented architecture
- Web Services are not Distributed Objects Common
Misconceptions about Service Oriented
Architectures - What is Distributed Computing and DCE?