Описание применения языка BPEL
суббота, 23 июня 2012 г.
ESA - enterprise services architecture
from the book "Enterprise Software Architecture And Design"
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.
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).
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
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
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
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 г.
WCF for middleware
Middleware systems as WCF connect clients and resources and allow build transaction logic
понедельник, 18 июня 2012 г.
REST vs SOAP
The SOAP protocol stack declared as the worst technology of last decade. So many companies instead adopting REST web services.
... Small is beautiful.
REST for the internet, and SOAP WSDL for enterprise apps.
Copyright nonsense
No part of this publication may be reproduced... The publisher and author make no warranties...
C# await async
It's allows the code executes in parallel. See the task combinators
воскресенье, 17 июня 2012 г.
Java Script Patterns
http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript
Creational Design Patterns
The three common ways to create new objects in JavaScript are as follows:
var
newObject = {};
var
newObject = Object.create(
null
);
var
newObject =
new
Object();
Constructors With Prototypes
function Car( model, year, miles ) { this.model = model; this.year = year; this.miles = miles; } // Note here that we are using Object.prototype.newMethod rather than // Object.prototype so as to avoid redefining the prototype object Car.prototype.toString = function () { return this.model + " has done " + this.miles + " miles"; }; // Usage: var civic = new Car( "Honda Civic", 2009, 20000 ); var mondeo = new Car( "Ford Mondeo", 2010, 5000 ); console.log( civic.toString() ); console.log( mondeo.toString() );
Structural Design Patterns
Behavioral Design Patterns
воскресенье, 10 июня 2012 г.
Новости 4-10 06 2012
- VB поддерживался 24 года, .NET 1.0 всего семь лет тут
- Высоконагруженный асинхронный WCF тут
- Entity Framework working in fully disconnected N-tier web app (Entity Framework was supposed to solve the problem of Linq to SQL, which requires endless hacks to make it work in n-tier world)
- DJ media pleer
- A css-only image accordion with "click" events.
- Таблицы с прокрутками, сортировкой и фильтрами в учетных системах тут
- Дизайнерские QR-коды
воскресенье, 3 июня 2012 г.
Мобильный сайт или мобильное приложение?
В книге Dino Esposito "Architecting Mobile Solutions for the Enterprise" автор утверждает, что нельзя сравнивать между собой мобильные сайты и мобильные приложения. И я с ним соглашусь, да и сложно не согласиться, если плюсы первого есть минусы второго.
Плюсы мобильных приложений:
- Хорошо интегрированы с устройством (акселерометр, датчик положения, тачскрин и т.п.)
- Не сильно зависят от сетевых задержек, могут работать в перегруженных трафиком сетях, и даже в отсоединенном от сети режиме
- Предлагают пользователям единообразный интерфейс
- Не нужно вводить адрес или создавать закладку, чтобы запускать
Плюсы мобильных сайтов:
- Разрабатываются один раз. На всех платформах и на всех устройствах выглядят одинаково
- Простейшая модель распространения и установки: достаточно набрать адрес или выбрать закладку
- Незаметно для пользователя дополняют основной сайт
- Методы SEO аналогичны тем, которые использованы на основномом сайте.
Для того, чтобы не промахнуться с выбором инструмента продаж, нужно хорошо знать свою аудиторию - потребителей товаров или услуг.
суббота, 2 июня 2012 г.
Про зарплату
Нашел на форумах sql.ru
—Т.е. наконец начал выполнять свою работу хорошо, и тебе за это увеличивать зарплату?
—Увеличился стаж
—Т.е. 40-летний программист уже получает свои миллионы?
—Не было ни одного замечания
—Это не ваша заслуга, а наша недоработка
Вы требуете увеличение зарплаты, но не получите, потому что...
—Уровень знаний поднялся на порядок—Т.е. наконец начал выполнять свою работу хорошо, и тебе за это увеличивать зарплату?
—Увеличился стаж
—Т.е. 40-летний программист уже получает свои миллионы?
—Не было ни одного замечания
—Это не ваша заслуга, а наша недоработка
Вы можете получить увеличение зарплаты, если..
—Покажете предложение работы с более выгодным предложением
—У вас расширится зона ответственности
—Произойдет индексация зарплат
Подписаться на:
Сообщения (Atom)