Integration-Ready Architecture and Design strives for a union of theory and practice. Teaching the latest wired and wireless software technologies, the book is probably the first entry into "the next big thing", a new world of integrated knowledge and software engineering. Written by a software architect and experienced trainer, this book is for:
Software architects, designers, and developers
Internet and wireless service providers
IT managers and other IT professionals, as well as amateurs
Subject matter experts who will directly participate in a new development process of integrated software and knowledge engineering.
Students and educators, who will find up-to-date materials for the following courses:
-Smart Card and JavaCard Technologies
-J2ME and Wireless Messaging
-Java Language and Technology
-C# and .Net Technology
-Business Communications and Collaborative Engineering
-Introduction of Ontology
-Integrated Software and Knowledge Engineering (introduced in the book)
Peers: students, instructors, consultants, corporate team players who might start using a peer-to-peer educational tool offered in the book as their entrance in the distributed knowledge marketplace.
All of the above who want to know how things work, should work, and will work in the IT world.
Of course, I wanted to solve several global-scale problems :-)
Divided by corporate barriers and working under "time-to-market" pressure, we often replicate data and services and produce software that is neither
Divided by corporate barriers and working under "time-to-market" pressure, we often replicate data and services and produce software that is neithersoft nor friendly. Working as fast as possible in this mode, we deliver products that lack flexibility and teamwork skill, and are hardly ready for integration into new environments. These products strictly target user requirements - which become obsolete by the time the project ends. Producing "more of the same" and raising the number of product choices (instead of moving to new horizons), we actually increase entropy and slow down the progress of technology, which depends heavily on inventions, new usage, or new combinations of existing tools and methods.
The famous formula "write once" is not working anywhere today. One of the reasons is the absence of a mechanism capable of accepting, classifying, and providing meaningful information about new data or services created by knowledge producers.
We have not changed our way of writing software during the past twenty years. We have not moved far from the UNIX operational environment (which was a big hit thirty years ago). The mainstream centralized computing apparently fails to scale for growing number of wireless devices and complexity of knowledge and services. Our computers are much faster, but for the regular user, they are as stupid as they were forty years ago. We add power but we fail to add common sense to computers, we cannot help them learn, and we routinely lose professional knowledge gained by millions of knowledge workers.
Meanwhile, best practices in software and knowledge engineering are reaching the point of critical mass. By learning, understanding, and integrating them, we can turn things around. We might be able to improve the reliability of quickly changing environments by using distributed self-healing networks and knowledgebase-powered application solutions.
We can finally stop re-writing traditional address book, scheduling, inventory, and order applications. We will shift our focus from ironing out all possible business cases in our design and code to creating flexible application mechanisms that allow us to change and introduce new business rules on the fly. Coming changes are similar to the transition from structural to object-oriented programming. We are going back to school.
I hope you find this book on your list of recommended reading or as "the best gift for yourself, your spouse, and your friends." Just buy two copies and let them figure out what to do with the book. In the worst case, it can be used for self-defense. It is almost as heavy as other good books.
If your gift list includes yourself, you might want to read this book in the bookstore first - at least some selected chapters, starting from the back. For example, Chapter 10, about a JavaCard key that opens all doors, can be very handy the next time you lock your keys in your car. If this happens too often to you or your close relatives, you might find Chapter 11, on J2ME and wireless messaging, very practical.
Armed with the knowledge of wireless technologies from Chapters 8, 9, and 11, you can create your own communication service and finally stop switching from AT&T to Sprint, and back to Verizon. Serve your friends and neighbors, compete with T-Mobile, and someday I'll be happy to buy your integrated "wireless portal communicator" product.
If you are a serious developer or plan to become one, you might prefer to start from the beginning and read it all the way through. Search for long-term, secure, and exciting IT directions. Find out why all the pieces of the puzzle, as well as the glue, are almost equally important. Teach yourself to see every technology (component) as an object with three dimensions: what, why, and how. After reading the book, you might even become less serious and more efficient.
If you want to increase your business clientele from 20% of the population who are fluent in current computer interfaces to the rest of us including those who hate computers or cannot bear their stupidity - just go for it! Read chapters 4, 5, 12, and 13, on speech and knowledge technologies, and create a natural user interface, a bridge from your business to humankind.
A good place to start the book for a professional hacker (whose average age is 15, but ranges from 6 to 66) would be Appendix 3 ("The Source Never Lies"). Find examples that can help to build collaborative and location-based services, screen/voice instant sharing and security monitoring, and speech and distributed knowledge alliance applications. Look there for spam killer hints to be ahead of the game.
If you just want to speak more languages, go to Appendix 1 ("The Saga of Siblings: Java and C Sharp"). You can get two for the price of one.
If you would like to include XML in your repertoire, add Appendix 2 ("XML Crossroads and Web Services"), which covers several dialects of the XML family.
Chapters 5 and 13 are not only for computer folks. The elusive category of "knowledge workers" - anyone who has gained knowledge and never had a chance to share might be looking at Promised Land. Subject matter experts (SME) who used to talk to developers about what and why - can find in those chapters new ways to say how.
There is also a software product related to this book (to be released). Students and educators can use the Educational Labs for collaborative work in team projects. The tool helps to connect students and instructors with educational knowledge resources. This can elevate the visibility and quality of student projects and transmit the best of them into industry contributions. The software can be handy in academic/corporate alliances.
Bridging the gap for a new generation of software applications, the book teaches a set of skills that are becoming extremely valuable today, and that will certainly be in high demand tomorrow.
This book is designed to walk a reader through the peaks of current software, with a focus on foundations, concepts, specifications, and architecture. The hike then goes down to the valley of implementation, with detailed design examples and explanations, and finally flies to new horizons of software and knowledge technologies. There lies the happy ending, where software and knowledge engineering ride off into the sunset together.