Showing posts with label NextGen-Trends. Show all posts
Showing posts with label NextGen-Trends. Show all posts

Friday, March 14, 2008

Spring Framework

Question:
I remember watching a presentation from Rod Johnson about two years ago ... this one looks very (too) similar. I think that the Java world owes a lot to Spring, they brought a lot of common sense back when things where going crazy with EJB 1/2.

However, EJB 3 took a lot of those lessons from Spring (dependency injection, simplicity, etc). Is Spring a victim of its own success? Will it keep growing as EJB 3 gets more open source app servers?

Answer:

Spring is an integration framework. While EJB3 is not.
Transaction demarcation in Spring is done much better.
With Spring you can work same way with JDO,Toplink,Hibernate,Plain JDBC. With EJB3 you provides only very restricted subset of Hibernate featues (e.g. no Criteria API at all).
Spring provides AOP out of the box. EJB3 guys usually don't even know what it means.
Spring provides ACEGI for Security while EJB3 has only JAAS.
Have a look at Spring remoting and compare it to EJB3.
And the last Spring provides IoC while EJB3 only uses IoC.

Now tell is Spring a victim or a winner ;-)
_________________________________
Inroduction to SpringFramework - dated May 2006Yet another framework?You may be thinking "not another framework." Why should you read this article, or download the Spring Framework (if you haven't already), when there are so many J2EE frameworks, or when you could build your own framework? The sustained high level of interest in the community is one indication that Spring must offer something valuable; there are also numerous technical reasons.

I believe that Spring is unique, for several reasons:

It addresses important areas that many other popular frameworks don't. Spring focuses around providing a way to manage your business objects.
Spring is both comprehensive and modular. Spring has a layered architecture, meaning that you can choose to use just about any part of it in isolation, yet its architecture is internally consistent. So you get maximum value from your learning curve. You might choose to use Spring only to simplify use of JDBC, for example, or you might choose to use Spring to manage all your business objects. And it's easy to introduce Spring incrementally into existing projects.
Spring is designed from the ground up to help you write code that's easy to test. Spring is an ideal framework for test driven projects.
Spring is an increasingly important integration technology, its role recognized by several large vendors.

______________________________________________

The Spring Framework - Reference Documentation

Using the JDBC Core classes to control basic JDBC processing and error handling
11.2.1. JdbcTemplateThe JdbcTemplate class is the central class in the JDBC core package. It simplifies the use of JDBC since it handles the creation and release of resources. This helps to avoid common errors such as forgetting to always close the connection. It executes the core JDBC workflow like statement creation and execution, leaving application code to provide SQL and extract results. This class executes SQL queries, update statements or stored procedure calls, imitating iteration over ResultSets and extraction of returned parameter values. It also catches JDBC exceptions and translates them to the generic, more informative, exception hierarchy defined in the org.springframework.dao package.

11.2.1.1. Examples
Find below some examples of using the JdbcTemplate class. (These examples are not an exhaustive list of all of the functionality exposed by the JdbcTemplate; see the attendant Javadocs for that).

11.2.1.1.1. Querying (SELECT)
A simple query for getting the number of rows in a relation.
int rowCount = this.jdbcTemplate.queryForInt("select count(0) from t_accrual");
A simple query using a bind variable.
int countOfActorsNamedJoe
= this.jdbcTemplate.queryForInt("select count(0) from t_actors where first_name = ?", new Object[]{"Joe"});


11.4. Modeling JDBC operations as Java objects
private class CustomerMappingQuery extends MappingSqlQuery {

public CustomerMappingQuery(DataSource ds) {
super(ds, "SELECT id, name FROM customer WHERE id = ?");
super.declareParameter(new SqlParameter("id", Types.INTEGER));
compile();
}

public Object mapRow(ResultSet rs, int rowNumber) throws SQLException {
Customer cust = new Customer();
cust.setId((Integer) rs.getObject("id"));
cust.setName(rs.getString("name"));
return cust;
}
}

public Customer getCustomer(Integer id) {
CustomerMappingQuery custQry = new CustomerMappingQuery(dataSource);
Object[] parms = new Object[1];
parms[0] = id;
List customers = custQry.execute(parms);
if (customers.size() > 0) {
return (Customer) customers.get(0);
}
else {
return null;
}
}

Chapter 12. Object Relational Mapping (ORM) data access
The Spring Framework provides integration with Hibernate, JDO, Oracle TopLink, iBATIS SQL Maps and JPA: in terms of resource management, DAO implementation support, and transaction strategies. For example for Hibernate, there is first-class support with lots of IoC convenience features, addressing many typical Hibernate integration issues

______________________________________________________________________________
Spring 2.0: What's New and Why it Matters - Posted by Rod Johnson on Jan 15, 2007

Most important, it has developed a large and loyal user base, which understands its key values and has contributed feedback that has helped it to advance rapidly. Spring's mission always been clear:

- To provide a non-invasive programming model. As far as possible, application code should be decoupled from the framework.
- To provide a superior solution to in-house infrastructure, so that developers can focus on delivering business value rather than solving generic problems.
- To make developing enterprise applications as simple as possible, but enhancing, rather than sacrificing, power

As work on Spring 2.0 progressed through 10 months of development, we also needed to take into account several trends that became evident in Spring usage in 2005-2006:

An increasing number of prominent third party software products are using Spring internally, and need the optimum in configurability and flexibility from the container. Examples here are many. To choose just a few:
The upcoming BEA WebLogic Server 10, which uses Spring and the Pitchfork Project to perform injection and interception.
BEA WebLogic Real Time (WLRT)-a high-end product from BEA targeted at applications such as front office trading, requiring low latency.
Numerous widely used open source products such as Mule, ServiceMix and the Apache JetSpeed portal container.
Enterprise vendors integrating their products with Spring such as GigaSpaces, Terracotta and Tangosol. Vendors in the grid space, in particular, are increasingly embracing Spring as the programming model of choice.
Oracle's SCA implementation and various other Oracle products.

________________________________________________
spring frame work
A Primer on Spring's Data Access Object (DAO) Framework - by Dhrubojyoti Kayal - 11/29/2006

The business components in J2EE applications typically use the JDBC API to access and change persistent data in relational databases. This often leads to the mixing of persistence code with business logic—a bad idea. The Data Access Object (DAO) design pattern addresses this problem by separating the persistence logic into data access classes.

This article is a primer on DAO design pattern, highlighting its merits and demerits. It then introduces the Spring 2.0 JDBC/DAO framework and demonstrates how it elegantly addresses the drawbacks in traditional DAO design.

Spring books
Spring in Action - 2 nd edition seems good book with Spring 2.0






___________________________________________________

Saturday, January 19, 2008

Pfizer OOF Office Of Future program

Come 3 p.m. each day, workers staring at computer screens everywhere share the same dream: a magic button that says click here, and someone else will do thisannoying project for you.
ps: by 9 a.m. tomorrow
.

Starting this month, that button will become a reality for 10,000 Pfizer (NYSE:PFE) employees, though their button actually says oof, short for Office of the Future. "Our Harvard MBA staff was spending a lot of time doing 'support' work, not their actual jobs," says Jordan Cohen, senior director of organizational effectiveness. "These are people we hired to develop strategies and innovate. Instead, they were Googling and making PowerPoints."

For OOF services, Pfizer pays $15 to $35 per worker hour, far less than they'd pay the McKinseys of the world, whose rates typically start at $215 per hour.

Who is at the other end of that magic button? Two outsourcing companies in India. Their existence is an extension of the booming Indian outsourcing market, which already handles customer-service and computer programming for U.S. companies, as well as concierge services for executives too busy to answer email and arrange for dry-cleaning. But Pfizer's move is an acknowledgment that companies are wasting resources by saddling their most-prized workers with their own support work.

OOF was born of a financial crisis. In 2005, Pfizer announced a $4 billion annual budget cut to counterbalance the expiration of lucrative drug patents. The company later laid off 10% of its workforce. "It was going to be pretty traumatic," Cohen says. "Were we just going to tighten our belts, or work differently?"

At the time, Cohen was reading Thomas Friedman's The World Is Flat, which profiles India's virtual-assistant companies. After analyzing the activities of Pfizer employees, he learned that they spend 20% to 40% of their time on four activities: creating documents, manipulating and analyzing spreadsheets, scheduling meetings, and researching. So he called the companies in Friedman's book. Could they do this stuff? He found hundreds of operations, many with thousands of employees, specializing in so-called knowledge-process outsourcing--dealing with information and data. He rounded up 30 adventurous souls at Pfizer for a test-drive with four employees at OfficeTiger in Chennai.

The initial test run didn't work well. Assignments came back unusable, sometimes marred with typos, and with data incorrectly analyzed. Cohen realized that the problem stemmed from Pfizer employees not specifying what they ultimately needed, and the Indian companies struggling with multistep projects. He spent months breaking complex Pfizer projects into repeatable tasks and training both sides to handle them. On a trip to India, he learned that OfficeTiger was decentralized and fragmented--the graphics people on one floor and the research people on another. OfficeTiger proposed a team system, putting a dozen skilled workers in one room and passing the project around repeatedly. "I didn't think it would work," Cohen says. "There were too many handoffs."

But it did work, and the pilot took off. Word spread through Pfizer's towers, until the program included 200 employees. Meanwhile, Cohen worked to create a simple interface; now, when a Pfizer employee clicks the OOF button in Microsoft Outlook, a single triage worker in India receives the request and assigns it to a team, and the team leader calls the employee to clarify the larger purpose. The team leader then sends back an email specifying the cost. "At this point, the Pfizer employee can say yes or no," Cohen says. "That's the ultimate measure: Is this research project worth $750?" The verb "OOFable" entered the lexicon of Pfizer's pilot users.

The benefits of OOF are unexpected. It's not a time-saver in the sense that employees can knock off at 2:30 p.m. Instead, people do more in a set period. "Rather than spending six months analyzing a segment to understand whether it's a market opportunity," says Nancy Steele, executive director of new business development, "we spend closer to three months." She recently OOFed a four-week research project on the blood-substitute market, which would have bogged her down for months.

The financial benefits are also impressive. "When questions come in, like who are the key players in the stem-cell market, often I would hire external consultants," says Kristin Peck, head of worldwide strategic planning. "OOF does the same work for me at one-tenth the cost. It's sort of mini-internal consulting, for very specific questions." For OOF services, Pfizer pays $15 to $35 per worker hour, far less than they'd pay the McKinseys of the world, whose rates typically start at $215 per hour.

Pfizer is alone in rolling out a large-scale knowledge-outsourcing program, but many companies are experimenting within individual departments. And U.S. conglomerates have started to scoop up outsourcing companies. RR Donnelley acquired OfficeTiger in 2006; Genpact, which Pfizer has also worked with, is 22% owned by GE.

Pfizer employees, though, don't care about such corporate machinations. They are simply smitten--particularly during budget season, when everyone suddenly needs a PowerPoint presentation. "It's kind of amazing," Cohen says. "I wonder what they used to do."

Friday, January 4, 2008

Ajax Libraries Javascript frameworks

Before going into ajax Libs , we need to identify nextgen web development tool aptana
The Aptana Studio Community Edition provides a full-featured web development environment. The Community Edition represents the core pieces of the Aptana frameworks for editing, debugging, synchronization, and project management.
- HTML/CSS/JavaScript Development
- Pre-included popular Ajax libraries
- Ajax Support

Since there are lots of them available When considering which Ajax Library to use , look at some decision factors such as endorsement from the reputated tools such as aptana studo
Aptata bundles these libs: -- look at menu "Bundled Ajax Libraries"

Ext Js -- seems it provide good UI layouts out of box
Dow customer - if you look at "Index Information" table it shows sortable nice Tabular Data ..
Ext feature tour
Ext Customer List:
Ext JS is used by companies all over the world across many industries. Listed below are just a few of those companies:

spray

JQuery

Aflaxtm stands for Asynchronous Flash and XML. Defined simply, Aflax is a development methodology which combines Ajax and Flash to create more dynamic web based applications.

Developed by Paul Colton, the Aflax technology is available as a library that enables developers to use JavaScript to fully utilize all of the features of Adobe's Flash runtime -- including graphics, networking, video and camera support
Q. Who was Aflax created by and why?

A. The Aflax library was created by Paul Colton, the original creator of Adobe JRun, and the founder of Aptana, Inc.

Aflax was created to enable JavaScript developers to fully utilized Flash where needed without having to switch their tool and language. By using Aflax, all development for the browser can be accomplished using JavaScript, both Flash and AJAX development.

Q. Why not use the existing Flash JavaScript gateway?

A. The Flash JavaScript gateway that was released by Macromedia was only for Flash 7 or earlier. It was a very low performance library as well. It seems to now have been deprecated in favor of Flash 8's new ExternalInterface which is much faster and more capable. The ExternalInterface is what Aflax is using.

Q. How is this different than just calling functions directly in Flash?

A. The biggest difference is that you don't need to use ActionScript or the Flash IDE -- and you don't need to compile anything. The point of Aflax is that you can do all of your Flash development in JavaScript, which also gains you the ability to seamlessly mix the two worlds (JavaScript and Flash) with a single language. Aflax hides all the communications to the Flash object so all of your logic can remain in one place.

Sunday, December 30, 2007

BlogTalkRadio

Aspiring radio hosts need only a computer, phone
Anyone with dreams of being a talk radio star--ranting about sports and politics, chatting with callers, sharing recipes or car-buying tips--can play host on their own show, right on the Web.

BlogTalkRadio, Talkshoe and Skypecasts are among the Web sites that have become popular for would-be radio jocks, and all it takes is a computer and a telephone.

"You can create a show within five minutes and be on the air within 15 minutes," said Alan Levy, the CEO of BlogTalkRadio, a site he started shortly after his father fell ill with non-Hodgkins lymphoma in 2006.

At first, Levy created a blog for his father, allowing him to easily keep in touch with family and friends. Later, Levy decided he wanted something more than a blog.

"I wasn't feeling like it was a conversation--it was all text," he said. So he came up with the idea of creating broadcasts for bloggers, and BlogTalkRadio was born.

With BlogTalkRadio, hosts use a telephone and computer to create live, call-in shows. Unlimited participants can join, and the service is free because it's advertising-supported. After airing, the shows are archived and become available as podcasts for other listeners.

So far, nearly 46,000 shows have been created--with subjects ranging from entertainment to politics to sports and lifestyle. Actor Brad Pitt, politician John Kerry, baseball player David Wright, and author Jodi Picoult are among those who have been interviewed.

"Some shows are good, some aren't so hot," said Levy. "The cream rises to the top."

Thursday, December 27, 2007

appcelerator RIA SOA can be developed in Java, .NET PHP Ruby on Rails and Python.

asr take: this will succeed because next gen apps should be accessible from mobile, web, desktop , server any embedded OS device (digital camera, some monitoring system) . Only SOA message based architectures built from ground up can fit the bill.

Appcelerator is a next-generation, open source web platform for developing Rich Internet Applications (RIA) on a Services Oriented Architecture (SOA).
Appcelerator is standards-based, supports all modern web browsers and can be developed in Java, .NET, PHP, Ruby on Rails and Python.

The Appcelerator Platform
The Appcelerator Platform is our flagship product. It's a next-generation, open source web platform that fundamentally changes the way Web 2.0 and rich Internet applications are developed. Here are some technical highlights about the Appcelerator Platform:

What is Appcelerator?
Appcelerator is a platform that allows you to quickly build both rich and highly dynamic user interfaces (RIAs) as well as true SOA-based services in Java, Ruby, .NET, PHP or Python - it's RIA and SOA made easy.

Just so you know, we built this documentation explorer using Appcelerator.
Message Oriented Architecture
The foundation of the Appcelerator Platform is a Message Oriented Architecture. What this means is that ALL components in an Appcelerator application communicate via simple lightweight messages. HTML elements can both send and receive messages and all Appcelerator services are message-driven.


Appcelerator Client Development

The Appcelerator Platform comes with two powerful capabilities that enable you to quickly build your RIA. The first is the Appcelerator Expression Language. The Appcelerator Expression Language turns simple HTML elements into powerful Ajax and DHTML components. The Expression Language is simple - it has only one attribute: the on attribute. Within the on attribute you create simple expressions that unleash the power of Ajax and DHTML without having to use Javascript. Details about the Appcelerator Expression Language are covered in more detail in this Explorer.

- Basic code
- wow these sample test app is great - look at widgets


Adobe responds to Appcelerator with
open source BlazeDS
- Accommodate when necessary, and sell what you can, seems to be the Adobe motto regarding open source. I doubt these moves would be happening if the pressure from open source were not real.

Marc Fleury, the l’enfant terrible of open source, is back from his Red Hat-induced vacation, acting as an adviser to Appcelerator, an Atlanta start-up with a “compelling take on the SOA market.

Top 50 projects in the open source world

on May 4th, 2006 ( as of Jan 1,2008 this is 1.5 year old ) Desktop Linux Summit in San Diego Uversa CEO David Uhlman ( Customer Happiness Guru & CEO )offered a PDF list of what it considers the Top 50 projects in the open source world.

But what really is the most important project? It’s the one you’re using.

It’s a flip answer with a serious message. There are literally thousands of open source projects out there. Each has its own users, its own committers, its own managers.

The most popular projects are not necessarily the most important, although if you go to Sourceforge that’s the way they are listed. And when PR folks representing open source projects call, they will often reference the popularity of their downloads there as equating to importance.

In fact, the importance of any particular project is a matrix.
* How deep in the stack is it? Linux will always be vital because it is an operating system so many other projects depend upon.
*How many real users does it have? This does not mean desktop Linux projects are all that vital. It does mean that Google software is.
*What value does it deliver? Based on this I would argue that mySQL is a very important project. But remember it is also the base for many other projects.
*How unique is it? Any project that takes open source into a new direction — to phones or inside the network — is important.

Following are extracted from this PDF doc linkopen source top 50

Eclipse
- Comprehensive development environment for JAVA,PHP, C, C++, and more

iFolder
- Those Novell guys just won't quit
- Allows seamless file sharing and synchronization
- across platforms


Subversion
- Primarily for source code but also good for text/html

Mantis
- Bug tracking system w/Email notification
- Similar to BugZilla, much easier to install and use
- We use this tool probably more than any other tool

Planner
- Project tool, was once known as MrProject, really
- Does a nice job for basic to intermediate project planning needs
- Not specific to technology projects, offer extensible options for resources and task hierarchies


OpenOffice
- Definitive OS Office Suite, Word Processor,SpreadSheet, Drawing/Diagramming and Presentation Tool
- 2.0 is extremely compelling, ODF is a huge leap

MediaWiki
- Wiki System in PHP
­- Popular, The Wikipedia Wiki!
­- Great as "thought management" system
- Many user driven sites build documentation this way for better or worse

Evolution
- Outlook replacement for Linux

K3B
- CD burning done right
- Ease of use comparable with EasyCD, Nero, etc.
- Nice features for creating CD's from downloaded
- Supports DVD's as well, DVD+RW, DVDRW

GIMP
- Best open source option for Adobe Photoshop like functionality Not as comprehensive as Photoshop

Tomboy
- Note tracking application
- New solution to the Post It Notes problems

Beagle
- Search tool for the Personal Information
- Builds on Google, Yahoo desktop search

Thunderbird
- Companion email application to FireFox
- Look at latest versions for integration withcalendaring, groupware, etc



Jabber
- definitive Open Source Instant Messaging System
- If you are thinking about corporate IM look a Jabber

Joomla
- Main Marketing Content, front pages of website­
- Templates compatible with Macromedia
- Dreamweaver, CSS Driven
- Great default templates, clean and crisp­
- Multi format delivery PDF, print, email
- The sales guys can use it. The designers like it.

Zabbix
Monitoring tool along the lines of Nagios and Cacti written in PHP

Thursday, December 13, 2007

on-demand Business Appications without software

asr note:
- google apps on Infrastructure applications side (email, word, excel, collaboration tools )
- appexchange/force.com/salesforce.com on Busuiness applicaitons side
These two categories will cover entire spectrum of the on-demand software applications and they are dozens of other companies "coming up/serving" in these two categories ( see below LongJump etc. from the url.

But there are also a slew of startups that have focused on allowing people to easily create and deploy database driven applications - DabbleDB, Zoho Creator, LongJump, Coghead and WyaWorks, among others.

Finally, Focus on Innovation, Not Infrastructure
Force.com is the world’s first Platform as a Service (PaaS), enabling developers to create and deliver any kind of business application, entirely on-demand and without software. It’s a breakthrough new concept that is making companies radically more successful by letting them translate their ideas into deployed applications in record time.

- Mouse over flash boxes , you see all services offered
- See on the above page: Platform-as-a-Service vs. Traditional Platforms

- see the visual editor and controller in the video for UI and code editing, they are good examples how a best 'web based developer' platform should look like in this video http://www.salesforce.com/campaigns/zdnet/index.jsp
- Pricing is a flat $25/month/user.
- Electronic Arts Builds Extensive Global Talent Acquisition Platform on Robust Salesforce and AppExchange Solution

Salesforce Enters Custom Application Market With Force.com
- see these in the above techcrunch blog DabbleDB, Zoho Creator, LongJump, Coghead and WyaWorks, among others.

- appexchange
-Jasper4Salesforce - Exception reports, reports on any combination of standard and custom objects and fields, drag & drop ad hoc, create highly complex and ready-to-print reports.
- HR applications
- High Tech :: Software

___________________________________________________________________________

Welcome to Google Apps
Want simple, powerful communication and collaboration tools for your organization without the usual hassle and cost? see here
Google innovation. Powerful solutions. Low cost.
- Organizations can spend less time and money managing email and other IT services, and focus more on what they do best, whether that's teaching kids, creating award-winning products, developing creative advertising campaigns or helping non-profits organizations.customers
- see enterprise , small business , educational institutes ..
_________________________________________________________________________


Amazon SimpleDB is a web service for running queries on structured data in real time. This service works in close conjunction with Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2), collectively providing the ability to store, process and query data sets in the cloud. These services are designed to make web-scale computing easier and more cost-effective for developers.
Look at Amazon S3 , cloud and simpleDB now