"style is everything. i mean, the blues are three chords. but every guy that plays the blues plays differently, because thats their own style. right?" —skip engblom
the open source software community is building a wall to contain microsoft and other monopolistic forces, and middleware is the mortar. 【程序编程相关:Introducing JDesktop】
introduction 【推荐阅读:Your Hibernate-Power】with enough of these communities working together, there are very few limits to what well build. open source java will dominate the enterprise market. the days of per-processor licensing fees will be gone forever. medium-sized businesses and cottage industries all over the world will spring into a new life. the global 2000 enterprises from the 20th century will meet a hundred thousand reinvigorated family enterprises in the 21st. the era of big ideas is ending, and the insects shall inherit the earth. 【扩展信息:Weaving new Acronyms】
it should come as no surprise, then, that the most important feature a piece of middleware should provide is the ability to wire together disparate subsystems and to allow systems to be broken down, so that specialized communities of developers can each focus on building their bricks, their pieces of the whole.
okay, seriously — that was a bit dramatic, but you get the point. competition from the bottom will force the companies at the top to either lower their prices or dramatically improve the quality of their products and services to remain competitive. and open source software will play a driving role in that shift.
the goals of a framework (which qualifies as middleware because of its role in lacing together disparate information systems) were neatly outlined by one dr. trygve reenskaug in the "administrative controls in the shipyard" essay he presented at the iccas conference in 1973. the goals and principles he identified are as fresh and relevant today as they were 30 years ago. dr. reenskaug suggested that the goals of a framework were to support:
simplified manual override division into modular subsystems behavioral transparency of subsystems pluggable subsystem modules the capability of continuous growth for the total systembut large systems are complex. the only hope for developers who wish to model them is to decompose the larger "total" system into subsystems, and then repeat the process for subsystems, breaking them down into role categories and objects that fulfill the requirements of those roles. in java, the terms "interface" and "role" are practically interchangeable. interfaces define the nature of an object but not its specifics, and can limit the scope of interactions between objects in the system according to their public roles. this both reduces the complexity of the system and makes it more flexible and extensible. therefore, breaking down complex systems into families of interfaces is something we should at least attempt.
... 下一页