среда, 25 июля 2012 г.

Data Modelling


Entities is a form of concept describes a collection of instances of interest. An entity typically has attributes.

Relationship types typically have cardinality constraints, dictating the number of instances of the respective entity sets that are related by a relationship of that type. UML also allows arrowheads as annotations on associations. These arrowheads play no role in the relationships themselves, but are UML notation for specifying navigability.

XML is an open family of languages in the sense that developers define their own application-specific dialects. DTDs do not support namespaces, which remains a serious deficiency.

суббота, 23 июня 2012 г.

BPEL

Описание применения языка BPEL

ESA - enterprise services architecture

from the book "Enterprise Software Architecture And Design"

REMOTE PROCEDURE CALL


Using RPC an application is able to use a resource on a remote server as on a local. The application does not need to distinguish between the use of local and remote resources. In reality matters are more complicated.

Problems:
1)      Weak specification
2)      Tight coupling
3)      Error handling (*)
4)      Routing on the network layer

(*) It’s not a problem in LANs, where network failures are relatively infrequent.

MESSAGE-ORIENTED MIDDLEWARE

RPC has been used successfully in LAN, in WAN message-oriented has seen broader acceptance.

Problems
1)     High cost, the use of such tools for enterprise application integration (EAI) is normally for large enterprises.
2)      А vendor-specific solutions. The need to define application logic in a vendor-specific language such as a work flow language is also regarded as a barrier to entry of the use of such systems. Work in business process modeling (BPM) has been addressing some of these issues, defining industry standards such as WS-BPEL and Business Process Modeling Notation (BPMN).


WEB SERVICES AND SERVICE-ORIENTED ARCHITECTURE (SOA) 

In its original manifestation, Web services can be viewed as an RPC stack defined with the HTTP Web protocol as its transfer protocol.

Problems
1)     WS-Addressing for end-to-end message routing, WS-ReliableMessaging and WS-Transaction for reliability, WS-Security and WS-Policy for security, as well as WS-BPEL for business process automation. The complexity introduced by these standards, and to some  extent already present in the SOAP and WSDL languages themselves, has led to a backlash in much of the software community.

 Reaction against the complexity of the WS-* stack has led to widespread adoption of so-called “RESTful” Web services. Many APIs originally developed as SOAP-based Web services, for example providing programmatic access to Yahoo and Google services, have been replaced by RESTful interfaces.


2)     Apparently independent services may access shared resources and inadequate provision for specifying and handling this may give rise to phenomena such as deadlock
3)     Quality of service is another important facet of service interfaces


The advantages of SOA
1)     Merging software services that were developed in isolation for separate applications and re-using it
2)     Invoking services through their APIs allows one implementation to be replaced by another, allowing systems to be upgraded on a component-by-component basis
3)     The modular structure of SOA supports “agile” application development

To cancel disadvantages of SOA via Web services use the enterprise service bus


CLOUD COMPUTING

What is the motivation for cloud computing?

1)     To enable the outsourcing of IT operations such as email and document editing to third parties
2)     Economies of scale in building computer and networking environments
3)     Flexibility in choosing the location of physical resources
4)     Being able to dynamically increase the provisioning of computing resources

Successful example: batch processing of large data sets based on frameworks for automatic parallelization of the processing over a cluster of virtual server instances



среда, 20 июня 2012 г.

Several classes of failures

A. Fail-stop and crash errors
B. Routing errors
C.  Byzantine failures - machine still worked but produced invalid results
How to solve?
Global consensus about monitoring point
Atomic commitment
Validate messages in all levels

Communications in enterprise networks

All components are typically distributed over networks. Some of the distribution are physical, some virtual. The Internet are designed for packet loss. In the local networks packets lost with fewer probability. Typically the API is message-passing. There are sync and async message passing. Problems: servers may have software errors, latency is not zero, bandwidth is not infinite, network is not secure, topology is changing, not only one administrator, transport cost is not zero, the network is heterogeneous.

вторник, 19 июня 2012 г.