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 Srini Penchikala on Apr 09, 2008
The latest version of JPPF, a java based open source parallel processing framework, includes a networking tool called TCP port multiplexer to enable JPPF work in secure firewall environments. JPPF team released the version 1.1 of the framework which also includes JMX based node monitoring and management features.
Prior to the latest version of JPPF framework, there was no easy way to integrate JPPF in secure network environments, due to the inherent design of the communication layer. JPPF requires at least 3 separate TCP/IP ports to function but many firewalled environments only allow a single port. This blocks the network communication by preventing any traffic through the unauthorized ports.
The new TCP multiplexer addresses this limitation by enabling the routing of network traffic coming from multiple ports through a single port. It is then possible to tunnel the multiplexer-to-multiplexer traffic through SSH or any other protocol that allows tunneling of TCP/IP traffic. It also routes the same traffic from a single port to multiple ones on the other side of the network.
The end result is that JPPF components will continue to work in exactly the same way, except that they will connect to local multiplexer instances, rather than to remote JPPF servers. This opens the door to the deployment of JPPF in heavily secured environments, without having to deploy a complex hardware/software infrastructure.
TCP multiplexer tool comes as a separate component from JPPF components (clients, servers, and nodes) so it can be used without any changes to the existing JPPF client code. Each multiplexer instance is deployed as a separate process.
The first version of the multiplexer, released with JPPF 1.1, provides the basic functionality which currently only works for JPPF traffic. In a subsequent version, there will be another "flavor" that will work with any TCP/IP traffic. This will allow users to interact with web servers configured with non-standard ports or to make direct EJB calls to a J2EE server behind a firewall. The future versions of TCP multiplexer will also include the ability to apply independently developed filters enabling:
Other new features in JPPF release include the following:
The node monitoring feature is used to capture the information such as the state of the JVM, system and environment variables, available CPUs, and so forth. These statistics are accessible from the JPPF administration console. Other information available from the GUI console includes the node status, task execution status (whether a task has been executed or not), number of tasks executed etc. Specific tasks can be canceled or restarted from the admin console.
The admins and developers can get a overview of what environment a node runs in, as well as useful snapshots of its state, allowing for an understanding of how the load is handled. This information is available from the JPPF monitoring console as well as through dedicated APIs.
Laurent Cohen from JPPF team said that this is a preliminary step laying the ground for a new feature in the next major version, that will enable users and admins to control when, where and how JPPF jobs will be executed. JPPF jobs will be associated with an "execution policy" that will have access to the nodes' information and provide a fine-grained definition of the conditions in which a job can be executed.
The future roadmap of JPPF project also includes some major integration work, with a focus on integration with Gigaspaces for high volume transactional enterprise applications with computation-intensive needs, and business rules engines integration. Other future integrations include Business Process Management (BPM) and Extract, Transform and Load (ETL) frameworks. Also included in the roadmap is adding the multi-agent system capabilities to JPPF grid toolkit.
Srini Penchikala currently works as Security Architect and has 17 yrs of experience in software product management.
Free Gartner Cloud Service Brokerage Report
18 agile and lean practices for effective software development governance
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
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