• What Functional Purists don't want you to know about Scala

    Wednesday May, 11, 2011 11:00 PM

    Scala is a JVM programming language that blends object-oriented and functional concepts. We are all well familiar with the object-oriented aspect but lot of us seem to struggle when it comes to functional programming. Unfortunately, a large number of Scala talks and articles present functional programming in a way it just makes your brain hurt. You start believing only math-minded can truly comprehend it. Furthermore, you get an impression Scala is only a good fit for problems which need to be solved in a pure functional style. All of which is, fortunately, far from being true.

  • Android Mobile Application Development

    Wednesday April, 13, 2011 11:00 PM

    Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

    Android is a mobile operating system running on the Linux kernel. It was initially developed by Android Inc., a firm later purchased by Google, and lately by the Open Handset Alliance. It allows developers to write managed code in the Java language, controlling the device via Google-developed Java libraries.

    The Android SDK provides the tools and APIs necessary to begin developing applications that run on Android-powered devices. Cool apps that surprise and delight mobile users built by developers like you are a huge part of the Android vision. Google has also participated in the Android Market by offering several applications for its services. These applications include Google Voice for the Google Voice service, Scoreboard for following sports, Sky Map for watching stars, Finance for their finance service, Maps Editor for their MyMaps service, Places Directory for their Local Search, Google Goggles that searches by image, and My Tracks, a jogging application. Android phones that include the 'Google Experience' also have Google Search, Google Calendar, Google Maps, Google Navigation and Gmail integrated. In this presentation we will explore many examples of android.

  • The Cloudy Future of Integration

    Wednesday March, 09, 2011 11:00 PM

    Applications are increasingly facing demands for horizontal scalability and cross-platform interoperability. NoSQL data stores are gaining momentum as a way to address the scalability challenges. Messaging systems, on the other hand, are by their very nature able to handle widely distributed deployment models, but for Java developers, the cross-platform challenge suggests we should look beyond JMS. Open protocols such as HTTP, SMTP, and AMQP are attractive language-neutral alternatives.


    In this session, you will learn how the Spring application platform is evolving to accommodate these trends. We'll explore the Spring Data APIs for working with a variety of NoSQL data stores, and we'll compare and contrast several open protocol options for both synchronous and asynchronous messaging via Spring Integration Gateways and Channel Adapters.

     

  • NoSQL Smackdown

    Wednesday February, 09, 2011 11:00 PM

    You've read that the relational model is old and busted, and there are newer, faster, web-scale ways to store your application's data. You've heard that NoSQL databases are the future! Well, what is all this NoSQL stuff about? Is it time to ditch Oracle, MySQL, and SQL Server in favor of the new guard? To be able to make that call, there's a lot you'll have to learn.

    In this session, we'll take a whirlwind tour of five representative non-relational data stores: Cassandra, MongoDB, Voldemort, Redis, and Neo4J. We'll learn the very different ways they represent data, and we'll see their unique strengths and weaknesses in various kinds of applications. Along the way, we'll learn why new technologies must be introduced to address today's scaling challenges, and what compromises we'll have to make if we want to abandon the databases of our youth. We'll review what ACID means, role-play a two-phase commit, and even talk a little bit about file system semantics. It's an exciting time to be storing and retrieving data, and the opportunity is now before us to learn things we could ignore just a few years ago. Come to this session for a solid introduction to a growing field.

     

  • Improving Code Quality

    Wednesday January, 12, 2011 11:00 PM

    Every time a new software project is launched everybody aims for a high-level of technical quality. But more often than not we see the code quality deteriorating over time and it becomes harder and harder to understand and maintain the code. On the other hand a reasonable level of technical quality can be easily achieved in any software project, if it is kept in mind as a goal from the beginning. Of course it is necessary to measure it on a regular base, ideally at least in the nightly build.

     

  • JVM Internals: Garbage Collection and VM Optimizations

    Wednesday November, 10, 2010 11:00 PM

    Doug's presentation will delve into three internal parts of Java

    - Class File Format and Byte Code

    - Garbage Collection

    - JIT Optimizations

    In the Class File Format and Byte Code section, the basic structure of the class file format will be explained with examples of Java files compiled to class files.


    Additionally, attendees will be introduced to tools for viewing and writing byte code.

     

  • The Enterprise Integration Cloud

    Wednesday October, 13, 2010 11:00 PM

    Traditional enterprise integration deployments are based on the "centralized server" physical deployment model. This deployment model all started with the success of big Relational Database Management Systems (RDBMS) for centralized management of data, extended into the application server tier with big Java EE Application Servers for centralized management of applications, and finally into the integration tier with big Business Process Management Server / Enterprise Services Bus Servers for centralized management of the integration tier.

    The cloud (whether it be private, public, or hybrid) allows for massively parallel, horizontal scale-out architectures. This is radically different from the centralized, vertical scale-up architectures that have evolved from the original success of big-RDBMS on physical hardware. In putting together its Cloud Application Platform, named vFabric, VMware has made two key acquisitions over the past year to enable Spring Applications deployed on tc Server to be scaled elastically within the cloud:

    • , an in-memory data fabric that goes well beyond typical caching of data allowing for fast read/write of globally distributed data across a heterogeneous environment; and
    • , a lightweight message broker, based on the AMQP standard, allowing for fast asynchronous, reliable messaging over the TCP protocol within a globally distributed, heterogeneous environment

    Spring Integration is an embedded message bus that runs within any Spring application context and an application integration framework that connects to other systems via adapters. It is built on the Core Spring programming model and provides a couple of key abstractions that can enable systems integrators even greater flexibility to continually evolve their solutions as technology and business requirements change:

    • Message: a payload can be any object, and header values are stored in a simple map

    • Message Channel: a portable abstraction over the messaging transport being used that allows the application developer to change between multiple channel adapters (i.e. JMS, AMQP, REST) as a matter of configuration, not code

    • Message Endpoint: delegate a received message to any Spring-managed object for handling

    • Message Store: a portable abstraction over the data store (i.e. RDBMS, Cache) being used to track a message as it passes through the loosely coupled messaging system

    In this discussion, we'll talk about the newest support for Caching and AMQP within Spring Integration and how application developers are building a new class of enterprise integration applications that are purpose-built for elastic scalability within the cloud.

     

  • Cloud computing deep dive for Google App Engine and Amazon EC2

    Wednesday September, 08, 2010 11:00 PM

    In this session we will take a deep dive at few cloud computing examples and participants will be able to know how to use cloud computing for Google App Engine and Amazon EC2.

    The Google App Engine is a platform for developing and hosting web applications in Google-managed data centers. The Google App Engine is an example of cloud computing technology as it virtualizes applications across multiple servers and data centers. It is, at its heart, a powerful cloud computing platform designed to help you more easily create and manage scalable, JVM-based web applications. If you're developing a Java application on App Engine you probably already know that you can use JPA and JDO Java persistence APIs to interact with the data store. Now learn how to take full advantage of these powerful APIs. We will explore few examples from Amazon EC2 like how to deploy groovy on grails application. We will also look at development tools to make your life easier while working with Amazon EC2, Amazon S3 and Simple db.

  • Programming Scala

    Wednesday August, 11, 2010 11:00 PM

    Scala is a static fully object-oriented, functional language on the JVM. While taking advantage of the functional aspects, you can continue to make full use of the powerful JVM and Java libraries. In this presentation we will take a in depth look at what Scala is, its strengths, weaknesses, and why, when, and where you'd use it on your applications.