Friday, May 29, 2009

XML Index

xcelscripting.blogspot.com

xml Index

ebXML

UN/CEFACT and OASIS are key players behind ebXML.

ebXML Technologies

The technical architecture consists of several pie...

.NET, J2EE, and Beyond

Transactions

NET and J2EE

Sun ONE and Web Services

.NET

The .NET Platform

The .NET Framework

J2EE

Object Oriented Programming

SCRIPTING LANGUAGE

Thursday, May 21, 2009

ebXML


ebXML adds process to e-business interaction.

Another approach that also uses repositories to line up business partners is ebXML.

Electronic Business XML represents a global initiative to define processes around which business can interact over the Web.

It is a technology aimed at bringing the benefits of B2B data exchange to a global audience of small, medium, and large businesses.

exchanging business messages, conducting trading relationships, communicating data in common terms, and defining and registering business processes.

UN/CEFACT and OASIS are key players behind ebXML.

The key players behind ebXML are the United Nations Centre for Trade Facilitation and Electronic Business, the technical and e-business group responsible for developing and promoting global business processes and tools,


Organization for the Advancement of Structured Information Standards (OASIS), the international, nonprofit consortium of technology companies formed to promote open, collaborative development of interoperability specifications based on standards such as XML and Standard Generalized Markup Language.


The first phase of the ebXML initiative, having met its 18-month deadline in May 2001, has received wide industry support.

RosettaNet, a consortium of more than 400 companies in information technology, electronics, and semiconductor manufacturing, plans to integrate the ebXML Messaging Services Specification into future releases of its XML-based B2B initiative.

Two Electronic Data Interchange (EDI) standards groups—the Accredited Standards Committee X12 and the United Nations Directories for Electronic Data Interchange for Administration, Commerce and Transport Working Group —have announced support for the ebXML effort to establish a set of core components for global business-process integration.


The Global Commerce Initiative, representing manufacturers and retailers, has selected ebXML as the basis for its trading exchanges and B2B communications.


The Open Applications Group Inc. has announced that it will incorporate the ebXML specifications into more than 180 business transaction standards it now supports.
Other industry groups that have embraced ebXML include the Automotive Industry Action Group, Health Level Seven, and the Open Travel Alliance.

ebXML Technologies

ebXML Technologies


ebXML is inclusive of small and large businesses.

Electronic Business XML is based on a set of building blocks that makes use of existing standards wherever possible


When ZwiftBooks has registered its CPP, other companies can query the ebXML repository to determine compatibility.

If the potential partner determines that partnering is feasible, negotiation can proceed based on conformance to the CPPs.


While it may be ideal to have all this occur automatically online, the reality of partnering will likely involve person-to-person interaction before final deals are signed. Once agreement has been reached, the two companies can begin doing business and engaging in transaction



Registry: A central server that stores a variety of data necessary to make ebXML work.


Business Processes: Activities that a business can engage in and for which it would generally want one or more partners. A Business Process is formally described by the Business Process Specification Schema (a World Wide Web Consortium [W3C] XML Schema and also a document type definition), but may also be modeled in UML.


Collaboration Protocol Profile (CPP): A profile filed with a registry by a business wishing to engage in ebXML transactions. The CPP will specify some Business Processes of the business, as well as some Business Service Interfaces it supports.s


Business Service Interface: The ways that a business is able to carry out the transactions necessary in its Business Processes. The Business Service Interface also includes the kinds of Business Messages the business supports and the protocols over which these messages might travel.


Business Messages: The actual information communicated as part of a business transaction. A message contains multiple layers. At the outside layer, an actual communication protocol must be used, such as HTTP or SMTP. SOAP is an ebXML recommendation as an envelope for a message payload. Other layers may deal with encryption or authentication.


Core Library: A set of standard parts that may be used in larger ebXML elements. For example, Core Processes may be referenced by Business Processes. The Core Library is contributed by the ebXML initiative itself, while larger elements may be contributed by specific industries or businesses.


Collaboration Protocol Agreement (CPA): In essence, a contract between two or more businesses that can be derived automatically from the CPPs of the respective companies. If a CPP says "I can do X," a CPA says "We will do X together.“



SOAP: The W3C protocol for exchange of information in a distributed environment endorsed by the ebXML initiative. Of interest for ebXML is SOAP's function as an envelope that defines a framework for describing what is in a message and how to process it.

The technical architecture consists of several pieces:

Messaging: ebXML uses SOAP to send messages.

Business processes: ebXML distinguishes itself from other XML frameworks through its emphasis on business processes. Modeling languages and charting tools such as the Unified Modeling Language (UML) are used to standardize and capture the flow of business data among trading partners.

Trading partner profiles and agreements: ebXML defines an XML-based Collaboration Protocol Profile (CPP) to list supported industries, business processes, messages, and data-exchange technologies.

Registries and repositories: Registries contain the industry processes, messages, and vocabularies that define the transactions that occur between trading partners.

Core components: Core components operate at the data level to provide interoperability among industries and identify the data items that businesses use most often across industries, assigning them neutral names and unique identifiers.

ZwiftBooks and ebXML


ZwiftBooks uses ebXML to define a process for doing business.


Figure 5.6, ZwiftBooks first reviews the contents of an ebXML registry to determine the requirements for an ebXML implementation appropriate for the publishing industry. Having determined the appropriateness of relevant ebXML transaction definitions, ZwiftBooks decides to buy rather than internally generate the software needed to support the anticipated ebXML transactions.



Wednesday, May 13, 2009

.NET, J2EE, and Beyond


.NET, J2EE, and Beyond

The Web services battle lines are shaping up along two fronts:

Microsoft on one side with its .NET initiative centered around Microsoft server technology,

Sun on the other side with Java 2 Enterprise Edition (J2EE) architecture,

Simple Object Access Protocol (SOAP), Universal Description, Discovery, and Integration (UDDI), and Web Services Definition Language (WSDL),
- provide transport, discovery, and connections, they do not address other critical requirements for the electronic enterprise:

SOAP, Web Services, and E-Commerce

SOAP opens up new options for distributed computing.

The widespread use of SOAP as a distributed protocol for communicating across the Web and the emergence of Web services as a technology that adds structure to the open space of the Web have added a new dimension to the traditional enterprise computing model, based on middleware and application servers tied to tightly coupled networks.




Transactions

The ACID properties of transactions.

Transactions are a key aspect of any electronic commerce endeavor.

A transaction is a set of software operations that share what is known as the ACID properties of transactions:

atomicity
consistency
isolation
durability

1.Atomicity requires that all operations of a transaction be performed successfully in order for the transaction to be considered complete.
-If all of a transaction's operations cannot be performed, then none of them may be performed.

2.Consistency refers to data consistency:
a transaction must transition the data from one consistent state to another while preserving the data's semantic and physical integrity.

3. Isolation requires that each transaction appear to be the only transaction currently manipulating the data.
-Other transactions may run concurrently, but other transactions should not see the intermediate data resulting from other concurrent transactions until they have successfully completed and committed their work.
- Isolation protects a transaction from working with changes to data that can be rolled back.
4. Durability means that updates made by committed transactions persist in the database regardless of failures that occur after the commit operation.
Thus, if a system crashes after a transaction has committed, the data changes associated with that transaction are always recoverable.

5.Security
The Internet relies on several security protocols.
Secure communication is another essential aspect of any Web-based enterprise computing architecture. For Web-based e-commerce, the Secure Sockets Layer and Transport Layer Security protocols have been successful in verifying the authentication of Web sites, encrypting the transfer of data, and ensuring the integrity of information exchange.
6.Identity
7.Passport
Microsoft's Passport maintains identity across a variety of applications.Passport is Microsoft's single-sign-on authentication service that allows users access to participating Web sites.
8.The Liberty Alliance Project
The goal is to create a single-sign-on, decentralized authentication system for online services, accessible from any Internet-enabled device. With Liberty, the objective is to create a universal digital identity service based on open standards.

NET and J2EE

.NET and J2EE are frameworks for enterprise computing.
Figure 6.2
illustrates the relationship between the loosely coupled environment of the Web and the tightly coupled object-based frameworks that have been subsumed by .NET and J2EE.

Figure 6.2. Microsoft's .NET and Sun's J2EE are the main architectural rivals for bridging the gap between loosely coupled Web services and more tightly coupled middle-tier services.
One challenge is how to reconcile the global reach of the Web with the requirement for transactional integrity provided by more conventional middleware.

Figure 6.2

Sun ONE and Web Services

Sun ONE: Sun's J2EE implementationSun has been quick to respond to Microsoft's embrace of XML and Web services (although it can be argued that Sun's initial cautious attitude toward XML is attributable to its solid positioning on the code side of the code-data divide discussed in Chapter 1).

Sun's answer to Microsoft's .NET is Sun ONE, the Sun Open Net Environment, a framework for creating and deploying Web services from Sun's J2EE framework. Sun ONE is intended to be a template for interoperability between various devices and networks, bridging the gap between the loosely coupled Web and more tightly coupled object frameworks.

To bring things together it relies on XML, SOAP, and Java to add Web services extensions from within J2EE. For developers, this means that from a Sun perspective Web services will be built using servlets, Java Server Pages, and EJB technology.


The integration of Web services with more conventional middleware offerings is based on Sun's iPlanet integration platform that incorporates Java, SOAP, and XML and supports message queuing for asynchronous message routing between disparate applications.

.NET

.NET: a Microsoft framework.Microsoft's .NET is an umbrella term that describes Microsoft's strategy for delivering software as services across the Web.
.NET is based on earlier Microsoft technology.The .NET initiative represents a development framework that integrates earlier Microsoft technologies with newer technologies built around XML.
The result is an integrated framework focused on the Internet that packages the component services of the earlier extension to the Component Object Model known as COM+ and the Active Server Pages (ASP) Web development framework with XML and support for XML protocols such as SOAP, WSDL,


.NET architecture includes several technology components:

Development tools: A set of languages, including C# and VB.NET; a set of development tools, including VisualStudio.NET; a comprehensive class library for building Web services and Web and Windows applications; as well as the Common Language Runtime (CLR) to execute objects built within this framework

Specialized servers: A set of .NET Enterprise Servers that provide specialized functionality for relational data storage, email, and B2B commerce

Web services: Support services such as Passport and .NET My Services that let developers build applications that require knowledge of user identity

Devices: New .NET-enabled non-PC devices, from cell phones to game boxes. Microsoft is devoting considerable resources to the development and success of .NET and related technologies; their bets are on .NET as the next big thing in computing.

The .NET Platform


.NET is designed for Windows platforms.
Figure 6.3 illustrates the Microsoft .NET Platform, which consists of five main components.
At the lowest layer lies the operating system, which can be one of a variety of Windows platforms, including Windows XP, Windows 2000, Windows ME, or Windows CE. As part of the .NET strategy, Microsoft is planning to deliver more .NET device software to facilitate a new generation of smart devices.

Figure 6.3

At the top layer of the .NET architecture is VisualStudio.NET (also called VS.NET). VS.NET is designed to support the rapid development of Web services through an Integrated Development Environment (IDE) that supports multiple languages, cross-language debugging, and an XML Schema Editor for defining XML vocabularies.

The .NET Framework

A Common Language Runtime supports different languages for .NET development.At the center of .NET is the .NET Framework, a development and runtime environment for developing business applications on the Windows platform. Key ingredients of the .NET Framework are CLR and a common framework of classes that can be used by all .NET languages. The .NET Framework is architected around a unified hub-and-spoke programming model designed to make different languages interchangeable. This allows development organizations to mix and match languages based on the availability of skills, expertise, and task requirements. In VisualStudio.NET, developers can automate the deployment of applications or components as Web services by simply marking a check box in the development environment. Additionally, all programming documentation is generated as XML documents, making project information and metadata easy to share with other developers, departments, or external business partners.
The Common Language Runtime
With .NET all languages translate into a CLR.The .NET approach to software integration is based on a hub-and-spoke configuration where a variety of languages are translated into a CLR. Figure 6.3 illustrates how multiple languages may be used to generate a common Intermediate Language (IL) that is at the core of the CLR framework.
The .NET IL is similar to Java's platform-neutral byte codes that can be ported across platforms.

COBOL may be used to develop .NET applications.For example, during the development of a complex application that involves the use of legacy systems, part of the application could be written in a .NET-compliant version of COBOL while other pieces might be written in C# and Visual Basic. The entire application, using a mix of languages, could be translated into IL, a compiled language at the heart of the CLR framework. Then the IL could be compiled to native code using a just-in-time compiler that precompiles frequently used code fragments. The developer could then check off whether the application would be deployed as a Web service. If so, the logic would be communicated automatically via SOAP and would be able to use emerging Web services standard application program interfaces (APIs) such as WSDL and UDDI.

What about Transactions?

MTS is the Microsoft transaction engine.Microsoft has long understood the importance of transactions for enterprise computing. In the early 1990s, Microsoft began working on its own transaction software for its middleware effort. The result was the Microsoft Transaction Server (MTS), designed to carry out basic runtime services such as ensuring all parts of a transaction occur in an all-or-none fashion, managing thread and connection pooling, and handling state management. Their transaction software was based on a Object Transaction Monitor, integrating the capabilities of a Transaction-Processing Monitor with distributed object services. The result was a transaction engine that serves as a container for components running in the middle tier of a three-tier application. This is also the approach followed by Sun in the design of their J2EE middleware.

Unlike early programming with transaction monitors, MTS does not require developers to insert complex transaction-processing code directly into their programs. Developers do not have to write the classic begin transaction, end transaction. Instead, the programmer adds a transaction attribute of component's class.

J2EE

J2EE is the Java-centric enterprise platform specification.J2EE is a standard for building robust enterprise applications based on an evolving vision of application-server technology centered around the Java programming language. It has historically been used to build Web sites and applications around Enterprise JavaBeans (EJB). Recently it has been extended to include support for XML and Web services.
J2EE is now part of a collaborative process.While J2EE originated with Sun, changes to the J2EE specification are under the collaborative umbrella of the Java Community Process with input from vendors who have J2EE-compliant server products. Also as part of the Java Community Process, Sun is rolling out its Web Services Pack, a combination of applications and APIs designed to integrate Sun's Java programming language with XML and Web services. The Web Services Pack, illustrated in Figure 6.4, includes the following APIs:
Java API for XML Processing (JAXP): JAXP gives developers flexibility by letting them easily swap out XML parsers, which they may want to do if a parser that performs better for their application becomes available. Without JAXP, it's easy to get locked into one vendor's XML parser.
Java Architecture for XML Binding (JAXB): JAXB is a Java API and toolset for creating two-way mapping between XML documents and Java objects. JAXB simplifies the task of going from an XML document type definition or schema and creating a program to process a conformant XML document. For example, an XML schema for mortgage banking created by the Mortgage Industry Standards Maintenance Organization (MISMO) is used by the mortgage industry to exchange loan information. JAXB enables the creation of Java classes from the schema that will support the processing of XML data encoded in the MISMO format. Prior to JAXB, programmers were required to write Java code to format the parsed XML data into Java objects based on the XML schema. JAXB greatly simplifies the process, which was complex, error prone, and often not portable.
Java API for XML Messaging (JAXM): JAXM is designed to allow access to emerging XML messaging standards such as Electronic Business XML (ebXML) Transport/Packaging and Routing. It typically will be used along with JAX-RPC, which will give Java programmers a single interface to any XML-based Remote Procedure Call (RPC) mechanism, including the SOAP standard. Although SOAP is the acknowledged XML transport standard for Web services, developers using JAX-RPC will be better able to switch to any future XML-based RPC mechanism.
Java API for XML Remote Procedure Calls (JAX-RPC): JAX-RPC is the API for doing XML-based procedure calls via XML-RPC in Java. XML-RPC allows one network node to execute code on another node by transferring XML data. XML-RPC is discussed in detail in Chapter 4.
Java API for XML Registries (JAXR):
JAXR provides a uniform standard interface to registries of XML business data such as the UDDI protocol. JAXR simplifies the development of e-business applications that can register and extract data from various registries, including those used with the ebXML modular business framework for global e-commerce.
Figure 6.4
Different vendors implement J2EE.Vendors with server products that are based on J2EE include Sun, IBM, BEA, Oracle, and HP. Each vendor provides additional features not found in the J2EE specification, which may create problems for organizations looking to switch J2EE vendors. In the following sections, we'll look at how some vendors have used J2EE to integrate their application server offerings with the world of Web services.

Wednesday, May 6, 2009

Object Oriented Programming

Object Oriented Programming

JavaScript is an Object Oriented Programming (OOP) language. An OOP language allows you to define your own objects and make your own variable types.

However, creating your own objects will be explained later, in the Advanced JavaScript section. We will start by looking at the built-in JavaScript objects, and how they are used. The next pages will explain each built-in JavaScript object in detail.

SCRIPTING LANGUAGE

A scripting language, script language or extension language is a programming language that allows some control of a single or many software application(s). "Scripts" are often treated as distinct from "programs", which execute independently from any other application. At the same time they are distinct from the core code of the application, which is usually written in a different language, and by being accessible to the end-user they enable the behavior of the application to be adapted to the user's needs. Scripts are often, but not always, interpreted from the source code or "semi-compiled" to bytecode which is interpreted, unlike the applications they are associated with, which are traditionally compiled to native machine code for the system on which they run. Scripting languages are nearly always embedded in the application with which they are associated.
The name "script" is derived from the written script of the performing arts, in which dialogue is set down to be spoken by human actors. Early script languages were often called batch languages or job control languages. Such early scripting languages were created to shorten the traditional edit-compile-link-run process.

Different type of scripting available listed below


java scripting
vb scripting
shell scripting
bash scripting
unix scripting
linux scripting
perl scripting
scripting languages

JavaScript

INTRODUCTION
JavaScript is the most popular scripting language on the internet, and works in all major browsers, such as Internet Explorer, Firefox, Chrome, Opera, and Safari.
What is JavaScript?
• JavaScript was designed to add interactivity to HTML pages
• JavaScript is a scripting language


JavaScript is a scripting language that enables web developers/designers to build more functional and interactive websites.

Common uses of JavaScript include:

  • Alert messages
  • Popup windows
  • Dynamic dropdown menus
  • Form validation
  • Displaying date/time

JavaScript usually runs on the client-side (the browser's side), as opposed to server-side (on the web server). One benefit of doing this is performance. On the client side, JavaScript is loaded into the browser and can run as soon as it is called. Without running on the client side, the page would need to refresh each time you needed a script to run.