JavaScript Engines

JavaScript is an object-oriented scripting language used to enable programmatic access to objects within both the client application and other applications. It is primarily used in the form of client-side JavaScript, implemented as an integrated component of the web browser, allowing the development of enhanced user interfaces and dynamic websites.

A JavaScript engine (also known as JavaScript interpreter or JavaScript implementation) is an interpreter that interprets JavaScript source code and executes the script accordingly. The first JavaScript engine was created by Brendan Eich at Netscape Communications Corporation, for the Netscape Navigator web browser.

There are now a ton of JavaScript engines on the market (even when you only look at the ones being actively used in browsers):

  1. JavaScriptCore: The engine that powers Safari/WebKit (up until Safari 3.1).
  2. SquirrelFish: The engine used by Safari 4.0. Note: The latest WebKit nightly for Windows crashes on Dromaeo, so it's passed for now.
  3. V8: The engine used by Google Chrome.
  4. SpiderMonkey: The engine that powers Firefox (up to, and including, Firefox 3.0).
  5. TraceMonkey: The engine that will power Firefox 3.1 and newer (currently in nightlies, but disabled by default).
  6. Futhark: The engine used in Opera 9.5 and newer.
  7. IE JScript: The engine that powers Internet Explorer.

ref:

http://ejohn.org/blog/javascript-performance-rundown/

Service Oriented Architecture(SOA) Design Patterns

Service-oriented architecture (SOA) is an evolution of distributed computing based on the request/reply design paradigm for synchronous and asynchronous applications. An application's business logic or individual functions are modularized and presented as services for consumer/client applications. What's key to these services is their loosely coupled nature; i.e., the service interface is independent of the implementation. Application developers or system integrators can build applications by composing one or more services without knowing the services' underlying implementations. For example, a service can be implemented either in .Net or J2EE, and the application consuming the service can be on a different platform or language.



Why SOA?

The reality in IT enterprises is that infrastructure is heterogeneous across operating systems, applications, system software, and application infrastructure. Some existing applications are used to run current business processes, so starting from scratch to build new infrastructure isn't an option. Enterprises should quickly respond to business changes with agility; leverage existing investments in applications and application infrastructure to address newer business requirements; support new channels of interactions with customers, partners, and suppliers; and feature an architecture that supports organic business. SOA with its loosely coupled nature allows enterprises to plug in new services or upgrade existing services in a granular fashion to address the new business requirements, provides the option to make the services consumable across different channels, and exposes the existing enterprise and legacy applications as services, thereby safeguarding existing IT infrastructure investments.



Service-oriented architectures have the following key characteristics:



1. SOA services have self-describing interfaces in platform-independent XML documents. Web Services Description Language (WSDL) is the standard used to describe the services.



2. SOA services communicate with messages formally defined via XML Schema (also called
XSD). Communication among consumers and providers or services typically happens in heterogeneous environments, with little or no knowledge about the provider. Messages between services can be viewed as key business documents processed in an enterprise.



3. SOA services are maintained in the enterprise by a registry that acts as a directory listing. Applications can look up the services in the registry and invoke the service. Universal Description, Definition, and Integration (
UDDI) is the standard used for service registry.



4. Each SOA service has a quality of service (QoS) associated with it. Some of the key QoS elements are security requirements, such as authentication and authorization, reliable messaging, and policies regarding who can invoke services.



ref:



SOA Introduction



What is SOA -
http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-soa.html



SOA Overview -
http://searchsoa.techtarget.com/generic/0,295582,sid26_gci1330269,00.html?offer=briefcase



SOA LifeCycle -
http://searchsoa.techtarget.com/guide/allInOne/0,296293,sid26_gci1262598,00.html?offer=briefcase



Principles of Service-Orientation -

http://searchsoa.techtarget.com/generic/0,295582,sid26_gci1172714,00.html?offer=briefcase



End-to-end testing for SOA and enterprise transactions -

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1357238_mem1,00.html



SOA patterns



SOA Patterns -
http://www.soapatterns.org/



SOA Design Patterns by Thomas Erl -
http://www.soapatterns.com/



SOA Design Patterns (by Arnon Rotem-Gal-Oz) -



http://www.rgoarchitects.com/Files/SoaPatterns.pdf



http://www.rgoarchitects.com/Files/SoaPatterns2.pdf



Best of Udi Dahan's Articles -

http://www.udidahan.com/first-time-here/



SOA Patterns: Implementing an SOA Using an Enterprise Service Bus(IBM Redbook) -

http://www.redbooks.ibm.com/redbooks/pdfs/sg246346.pdf



Patterns: SOA with an Enterprise Service Bus in WebSphere Application Server V6 -
http://www.redbooks.ibm.com/redbooks/pdfs/sg246494.pdf



SOA Anti-Patterns -
http://www.infoq.com/articles/SOA-anti-patterns



Service Facade -
http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1346145_mem1,00.html



Non-Agnostic Context -

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1347582_mem1,00.html



Domain Inventory -

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1349152_mem1,00.html



Service Normalization -

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1350514,00.html



Service Decomposition -

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1352917_mem1,00.html



Miscellaneous



How SAML fits into your SOA security scheme -

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1337854_mem1,00.html



Tips for tracing enterprise transactions -

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1357445_mem1,00.html



Enterprise Architecture in the Agile age - Part 1, Styles of EA -

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1357017_mem1,00.html



SOA management vs SOA governance

http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1335764,00.html



Business Process Execution Language (BPEL) Tutorial -

http://searchsoa.techtarget.com/generic/0,295582,sid26_gci1330911,00.html