Title: Making Heterogeneity Happen using 'NET and Web Services
1??? ?????? ?? ???? Making Heterogeneity
Happenusing.NET and Web Services
- Myung Ho Kim
- National Technology Officer, Microsoft Korea
2Speakers Biography
- Holds a Ph.D. in Computer Science, KAIST
- Professor of Dong-A university for 10½ years
- CTO of BitWeb Korea co. for 2.99 years
- Independent Consultant MojaveSoft for 1 year
- Moved to Microsoft Korea September 2003
- Title NTO (CTO for National Bodies)
- Strong knowledge on nix and Java platform
- But dont assume that Im a newcomer to .NET
3Agenda
- The Service Orientation Paradigm
- Web services as a practical SOP Enabler
- Microsoft .NET and Web services
- Platform Comparison and Comments
4An Axiom of todays e-Business
- It does need some kind of integration
- Integrating autonomous, widely distributed
systems proved to be extremely difficult - Heterogeneity rules
- Standards dont exist or quite nascent even if
they do - Integration is interoperability in these context
- We have long been relying on
- OO, the one metaphor to rule them all, or
- expensive while brittle EAI and B2BI solutions
5Impedance Mismatch
- Objects
- Assume homogeneous platform and execution
environment - Share types, not schemas
- Assume cheap, transparent communication
- Are linked Object identity and lifetime
maintained by infrastructure - Typically require deployment of both client and
server in sync - Are easy to talk about and become a natural path
to follow - Customers have 20 years of experience and great
intuition
- What we need today
- Assume heterogeneous platform and execution
environment - Share schemas, not types
- Assume variable cost, explicit communication
- Are autonomous Security and failure isolation
are a must - Ease continuous deployment of client and server
separately - Builds on ideas from components, distributed
objects, and MOM - Dominant theme is to manage or reduce sharing
between services
6The Service Orientation Paradigm
- Views a system as a set of autonomous services
- A service is a program that one interacts with
via message exchanges no more, no less - A client is another program that uses other
services using messages that simple - Can be applied at any level of choice
- Architecture (SOA), development (SOD), and so on
- Tenets of Service-oriented development
- Boundaries are explicit
- Services are autonomous
- Services share schema and contract
- Service compatibility is determined based on
policy
7What we see is a Paradigm Shift
8Web services as SOP Enabler
- Practical implementation of an SOP
- Lets applications talk to each other
- Consists of loosely-coupled standards
- Leverages Internet and XML standards
- Language, model, platform, and vendor neutral
- Facilitates any-to-any computing paradigm
- Spiritual successor of CORBA
- But the implementation is quite different
9Web services is Internets L7
101st Generation Web services
- Standards-based
- WS-I Basic Profile 1.0 for interoperability
- SOAP 1.1, WSDL 1.1, and UDDI 2.0
- Largely a glorified RPC or IPC mechanism
- Predominantly point-to-point
112nd Generation Web services
- Web services Architecture (WSA)
- Standards extending Web Services functionality
- Will enable end-to-end asynchronous messaging
systems - WSA defines a set of Infrastructure protocols
- Not application protocols
- WSA design principles
- General-purpose, agnostic to application domains
- Standards-based
- Federated (no central administration, control, or
failure) - Composable, factored appropriately
12Business Process Orchestration
- An executable business process describing a flow
from the perspective and under control of a
single endpoint - Remember that the SOP is something about
integration
13Web Services Architecture
14Misconceptions on Web services
- Web services is a new business model
- Many people equate Web services with
software-as-a-service - Web services should support your existing
business models - Web services is just an RPC over HTTP
- It is an SO implementation leveraging Internet
and XML stds - End-to-end asynchronous messaging will be the
norm - Web services is a new API for the presentation
tier - The concept of a service is not related with that
of a tier at all - Then what is Web services for at all?
- It does let you do more (integration) with less
(time and cost) thru the use of autonomous
services that are interoperable
15Microsoft .NET
- An advanced software platform
- For large internet-based distributed system
- Composed up of two parts CLR and FCL
- CLI subset of .NET and C have standards from
ECMA and ISO/IEC - .NET is distributed free of charge
16.NET Framework Architecture
17Some .NET Propositions
- Provides many interoperable languages
- C, VB.NET, C, JScript, J, COBOL to just name
a few - Looks similar to Java but has different goals
- Better support for COM development, deployment,
and runtime - Provides useful and valuable innovations
- ADO.NET (full XML integration)
- ASP.NET (WebForms, WebServices programmable
Web) - Provides many tools for interoperability
- Old days COM, Non-COM DLL
- Between .NET worlds .NET Remoting
- Rest of the Windows and .NET world Web services
18ASP.NET Web Services
- .NET was built for XML and Web services
- Provides native and ground up support
- Playing with Web services is quite easy
- Arbitrary method can be exposed as a Service thru
the use of WebMethod attribute - that can be SOAP-callable and WSDL-described
- SOAP proxies can be automatically generated
- Services can be deployed as if they were web
pages, and can be tested using standard Web
browsers - XML/SOAP messages are flying under the hood
- Allows multiple interoperable languages
19IndigoThe future of SOD in the Windows world
- A set of .NET technologies for building and
managing service-oriented systems - Unified programming model communication
infrastructure for developing connected systems - Marries the best of NET Remoting, ASMX,
System.Messaging, and .NET Enterprise Services - Unifies a wide range of transports, security
mechanisms, topologies, and assurances - Deep support for XML, SOAP, 2nd generation Web
service protocols
20The Future of .NET
- .NET is hosted by many Microsoft platforms
- Windows Server System 2003, SQL Server Yukon
- Next generation Windows system named Longhorn
will embrace .NET FCL as part of its WinFX API - .NET will emerge beyond Microsoft platforms
- By 2004, 3rd party developers will independently
provide at least ¾ of, but not the entire, .NET
framework beyond Windows P 70 (Gartner) - Have you heard about Project Mono of Ximian?
- As Novell acquired Ximian, Mono will be a Linux
offering
21BizTalk ServerAn extremely useful companion of
.NET
- Business Process based EAI and B2BI
- Messaging and Orchestration engine
- Best-of-breed integration technologies with the
help of Accelerators and Adapters - They are provided by various partners
- Leverages Web services and BPEL standards
- Synergetic integration with other tools
- Visual Studio.NET, InfoPath, and .NET Fx
22.NET vs. Java Web Services
- Java tried to retrofit existing OO framework for
tiered-architecture - Not for an SO architecture
- Java Web services are achieved thru a set of
complex extensional APIs to the presentation tier - JAX-RPC, JAXR, SAAJ, JAX-??
- Dictates the use of only Java
- More often than not, Java is not the best
language for your application - Standardized for only J2EE
- Emphasize on heavyweight EJB-based services
- .NET was built for XML and Web services
- Native and ground up support
- Playing with Web services is quite easy
- Arbitrary method can be exposed as a Service thru
the use of WebMethod attribute - SOAP proxies can be automatically generated
- XML/SOAP messages are flying under the hood
- Allows multiple languages
- Does not discriminate weight or granularity of
services
23What CGI recommends
- .NET is a clear winner if performance, total cost
of ownership, and productivity are concerned - Organizations rarely port an application across
platforms - J2EE Portability is typically compromised when
vendor-specific features are deployed - IBMs Redbook "Migrating WebLogic Applications to
WebSphere Advanced Edition" is 270 pages long! - .NET and J2EE can and must coexist
- The key to broad industry success is with open
connectivity and interoperability across
platforms - Industry standards like XML and Web services
preserve and connect existing systems while
extending interoperability to applications this
is genuine so-called "write once, run anywhere"
24What Gartner recommends
- Java sacrifices productivity in favor of
flexibility - .NET sacrifices some flexibility in favor of
productivity - Small or midsize enterprises should focus on one
platform as the strategic basis - Large enterprises must support both platforms
- They should focus on integration and
interoperability technologies - Developers should focus on Web services
architectures on either platform
25Conclusion
- Web services and SOP are on track
- Today no one dare say theyre doomed to fail
- .NET was made for XML and Web services
- Native and ground up support
- Superb development tool Visual Studio.NET
- BizTalk Server for Web services based EAI/B2BI
- Indigo will facilitate a unified model for SOD
- Windows Longhorn will embrace .NET
- WinFX, secure and reliable API for Windows
- Be prepared to get .NET Connected logo
26(No Transcript)