New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Abel Avram on Nov 26, 2009
Microsoft Windows Azure Platform AppFabric is a set of technologies helpful to connect on-premises applications with Azure cloud services and resources and eases interoperability between users belonging to different domains. The main components are the Service Bus and the Access Control Service.
The Service Bus (SB) is an intermediary between local applications and services and resources available in the cloud. SB takes care not only of creating secure communication channels through authorization and authentication, but it also serves as a single-connection point between local applications and cloud services letting the developer focus on his own job rather than getting access to the service he needs to consume. SB can connect cloud-based applications back to on-premises ones, including accessing on-premises databases or services.
The main features of the Service Bus are:
- Services discovered through a stable, internet-accessible URL, irrespective of location
- One-way messaging between sender and listener supports uni-cast and multicast datagram distribution
- Full-duplex connection-oriented sessions between sender and listener support bi-directional communication
- Full-duplex, connection-oriented peer-to-peer sessions with network-boundary traversal create direct end-to-end connectivity through NAT
- Multiple publishers and multiple subscribers can simultaneously use the service’s topic management and event distribution system
- Support of REST and HTTP Access from non-.NET platforms
- Global hierarchical namespaces that are DNS- and transport- independent
- Anonymous access to services is supported only if you permit it
SB resolves communication issues between an user, User A, and the Azure cloud. What if another user, User B, enters the equation? What if User B is using a different ID management system? How is he going to access User A’s services and resources? Do they need to establish a federated identity agreement so User B can use his ID credentials to access User A’s resources? This is where the Access Control Service (ACS) comes into play. ACS intermediates the connection between different user applications and their resources making it look like they belong to the same domain and offering control over which resources are accessible.
Main features of ACS are:
- Setup Issuer trust with a simple Web interface or programmatically through APIs
- Supports Active Directory and other identity infrastructures, with minimal coding
- Support for multiple credentials, including X.509 certificates
- Support for standard protocols including REST
- Applications that run inside and outside the organizational boundary can rely on the service
- Validate application and user request from data and connectivity services
The Service Bus and Access Control Service can be accessed from a large variety of platforms. SB and ACS can be used through Microsoft .NET Services SDK which works with VS 2008 and .NET Framework 3.5. There is also a .NET Services SDK for Java Developers, and another for Ruby Developers.
Windows Azure AppFabric should not be confused with Windows Server AppFabric, a technology for building and managing web service applications running inside IIS and including the technologies formerly known as Dublin and Velocity.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
No comments
Watch Thread Reply