Perspective: Interoperability and Portability in Java

Drawer PDF 417 in Java Perspective: Interoperability and Portability
Perspective: Interoperability and Portability
PDF 417 Printer In Java
Using Barcode creator for Java Control to generate, create PDF 417 image in Java applications.
Standards such as SCA, web services, and Java EE often have quite different goals The WS-* speci cations are about interoperability; that is, providing protocols that different vendor runtimes can use so that software hosted on those platforms can work together In contrast, Java EE and SCA are not concerned with interoperability Java EE does not specify, for example, a protocol for clustering different vendor application
Bar Code Maker In Java
Using Barcode printer for Java Control to generate, create barcode image in Java applications.
Introducing SCA
Scan Barcode In Java
Using Barcode reader for Java Control to read, scan read, scan image in Java applications.
servers or a common messaging protocol Similarly, SCA does not specify a way for different vendor runtimes to operate as part of a single domain Rather, the goal of both Java EE and SCA is portability For Java EE, portability means application portability that is, the ability to run an application on multiple vendor runtimes without modi cation Java EE has been criticized for not living up to this goal Critics have pointed out that application server vendors often interpret the Java EE speci cations differently, resulting in runtime-speci c behavior Also, as Java EE critics argue, the speci cations don t address many application requirements, forcing users to rely on nonportable, proprietary features of a vendor runtime In comparison to Java EE, SCA has adopted more modest portability goals Much of the initial focus of the speci cation working groups has been on skills portability, as opposed to application portability Speci cally, the speci cation authors have concentrated more on creating a common programming and assembly model than on de ning strict runtime behavior Absent the loftier goal of application portability, the thinking went, skills portability would at least shorten the learning curve for developers moving between different vendor runtimes This is not to say that SCA is unconcerned with application portability As the speci cations have matured, the working groups have focused more on obtaining this higher degree of portability For example, when the speci cations are nalized in OASIS, conformance test suites that verify common runtime behaviors will be made available Taking a slightly cynical view, one could claim that the SCA vendors have purposely downplayed application portability as a way to lock users into their proprietary runtimes Obviously, vendors have very little interest in complete runtime standardization If this were to happen, all runtimes would essentially be the same, except perhaps for slight performance differences There would be no way for vendors to differentiate their implementations by offering unique features However, life is more complicated in the standards world A better argument for why SCA has adopted modest portability goals would account for a number of factors Certainly there is vendor interest in maintaining proprietary features Another factor was a practical consideration Realizing how dif cult it is to obtain consensus on new technologies when usage patterns are not clear-cut, and having learned from Java EE s failure to achieve practical application portability, the speci cation authors adopted less ambitious, but arguably more realistic, portability goals That said, as SCA matures and experience using it increases, expect application portability to become an increasingly important goal
PDF-417 2d Barcode Creator In Visual C#.NET
Using Barcode generator for .NET Control to generate, create PDF-417 2d barcode image in VS .NET applications.
SCA and Web Services
PDF417 Creation In .NET Framework
Using Barcode creation for ASP.NET Control to generate, create PDF417 image in ASP.NET applications.
Both at the protocol and programming model level, web services make an important assumption: They were designed for communicating between software that has nothing in common Web servicebased architectures consist of islands of functionality that interact with one another (see Figure 115)
Paint PDF-417 2d Barcode In .NET Framework
Using Barcode encoder for .NET framework Control to generate, create PDF417 image in VS .NET applications.
Web Services
PDF417 Maker In Visual Basic .NET
Using Barcode creator for Visual Studio .NET Control to generate, create PDF 417 image in .NET applications.
SCA Domain
DataMatrix Creator In Java
Using Barcode generation for Java Control to generate, create ECC200 image in Java applications.
Both at the protocol and programming model level, web services make an important assumption: They were designed for communicating between software that has nothing in common
ANSI/AIM Code 39 Printer In Java
Using Barcode maker for Java Control to generate, create USS Code 39 image in Java applications.
Web services are autonomous islands of functionality
Generating UPC - 13 In Java
Using Barcode creator for Java Control to generate, create UPC - 13 image in Java applications.
SCA components are managed by a common infrastructure: the Domain
Creating Code-128 In Java
Using Barcode generation for Java Control to generate, create Code 128B image in Java applications.
Web service versus SCA architecture
Making EAN 128 In Java
Using Barcode drawer for Java Control to generate, create GS1-128 image in Java applications.
This is not surprising given the array of vendors backing web services standards and their opposed worldviews However, several consequences follow from this First, developing web services can be a complex, labor-intensive process Sometimes this is necessary In order to avoid problems with interoperability, top-down development is generally recommended where service contracts are designed upfront in WSDL Dealing with WSDL is not trivial, notwithstanding tooling designed to alleviate many of the repetitive and error-prone tasks A second consequence of web services architecture is that any given service can only make minimal assumptions about the services it interacts with This limits the degree of management and coordination that can effectively be done across services It also limits any optimizations that may be done to increase communications performance Web service architectures certainly have their place when communicating with services from different companies or between autonomous divisions within a company However, not every component has to integrate with other components as if another
USD-4 Generation In Java
Using Barcode drawer for Java Control to generate, create Rationalized Codabar image in Java applications.
A consequence of web services architecture is that any given service can only make minimal assumptions about the services it interacts with
Barcode Maker In Visual Basic .NET
Using Barcode generation for .NET Control to generate, create bar code image in .NET applications.
Barcode Maker In Visual Basic .NET
Using Barcode drawer for .NET framework Control to generate, create bar code image in .NET applications.
Draw Bar Code In C#
Using Barcode creation for .NET framework Control to generate, create barcode image in VS .NET applications.
Paint Bar Code In VS .NET
Using Barcode encoder for ASP.NET Control to generate, create barcode image in ASP.NET applications.