45 Best and free resources for IT Architects and Designers
The following websites are some of the best kept secrets of Top IT Architects and Designers. This page has it all, Design Patterns, UI Design, Managing and How-To of Design, Software Architecture resources, OOAD and UML Books and Resources, SOA , n-tier Architecture and Lots more... Above all, these resources are completely Free for everyone to read.
- UML for Beginners
- Practical UML
- UML wiki
- Intro to UML and OO
- UML Overview Tutorial
- Free UML Tool Download
- UML Superstructure
- UML Tutorials
- UML Books
- Many UML Books
- Free OOAD UML Books ( 2995 )
Free OOAD UML and related Books
- UML Quick Reference card ( PDF Format )
- Naked Objects : Full book by Pawson and Matthews
- Object Oriented Systems Development : Full HTML book.
- Practical UML: A Hands-On Introduction for Developers : Quick one page tutorial. Good read.
- Rational Rose Video Tutorial : Learn how to use Rational Rose to create Use case , Class, Sequence, Collaboration & Statechart diagrams.
- UML in 7 Days: Learn UML in 7 days Flat
Links to other good books on Object Oriented Programming and Design Patterns
- An Introduction to C++ and Object Oriented Programming, by Ian D Chivers, January 1999
- OBJECT-ORIENTED PROGRAMMING and THE OBJECTIVE-C LANGUAGE
Object-Oriented Software Composition (PDF)
- Bringing Design to Software
- Data Structures and Algorithms with Object-Oriented Design Patterns in Java
- Data Structures and Algorithms with Object-Oriented Design Patterns in C#
- Data Structures and Algorithms with Object-Oriented Design Patterns in C++
- Data Access Patterns: Database Interactions in Object-Oriented Applications
- OOAD UML Resources ( 2448 )
This website has some great resources for OOAD and UML topics. Checkout the trainings, links, Free books etc. Also good resource website for IBM exam 486 - OOAD UML Certification.
- UI Patterns - User Interface Design Pattern Library ( 1882 )
User Interface Design Pattern Library. UI patterns for web designers. See examples and read rationale, solutions, and implementations for each pattern.
- Design Patterns Explained with examples ! ( 1403 )
A great tutorial with examples explaining the commonly used design patterns, namely Singleton, Factory, Abstract Factory, Decorator, Observer / Event, Observer, Strategy and Command Design Pattern. I like the presentation.
- Service-oriented Architecture ( 1371 )
Service-oriented architecture (SOA) is a design methodology aimed at maximizing the reuse of application-neutral services to increase IT adaptability and efficiency. While these concepts have existed for decades, the adoption of SOA is accelerating due to the emergence of standards-based integration technologies like Web services and XML. Within these pages you will gain practical knowledge on how to leverage today's technology to implement SOA.
- Understanding Service-Oriented Architecture- by Michael Stevens ( 1342 )
A great article covering the basics of SOA and builds good understanding for beginners
- Design Patterns Quick Reference ( 1219 )
Design Pattern reference chart for your quick reference to commonly used Design Patterns.
- Software Architecture Links ( 1160 )
Links for Software Architecture Enterprise Architecture Software Architecture Papers Recommended Books Software Reuse Links Architecture Training
- What You Need to Know About Service-Oriented Architecture ( 1138 )
Provides answers to naturally arising questions aboutService-Oriented Architecture.
- SWAG: Software Architecture Group ( 1126 )
The Software Architecture Group at the University of Waterloo (SWAG) has been at the forefront of software architecture and software engineering research in Canada since its inception. Founded as a collaboration between researchers at the University of Waterloo and the University of Toronto, the lab is now primarily based at Waterloo University. Members of SWAG have developed or co-developed some of the most robust and best-known tools in software architecture research, including Portable Bookshelf (PBS) and CPPX software analysis toolkits, Grok relational calculator, LSEdit graph visualizer, and many others
- Object-oriented Program Design and Software Engineering ( 1076 )
The concepts of the Object-oriented paradigm using Java. The basic principles of software engineering are emphasized.
- Software Architecture Resource Sites ( 1060 )
A comprehensive list of links.
- Managing Design - In Real world like top pros. ( 1060 )
Not sure how design could fit into your business? Want to find out how other people do it? Read our in-depth articles on how design is managed, with practical ideas and real-life examples of design being used for business success
- Application Architecture: An N-Tier Approach - By Robert Chartier ( 1040 )
This addresses the important issue of application architecture using an N-tier approach. The first part is a brief introduction to the theoretical aspects, including the understanding of certain basic concepts. The second part shows how to create a flexible and reusable application for distribution to any number of client interfaces.
- Software Architecture Resources ( 1030 )
You will find a list of (on-line and off-line) resources on software architecture and related material.
- Sun ONE Architecture Guide-Pdf Downloads ( 1030 )
The Sun ONE Architecture Guide offers a technical overview of the components and functionality available today from Sun for developing and deploying Services on Demand. The guide breaks the architecture into six easy to understand sections outlined below and describes how these parts fit together. The entire Sun ONE Architecture Guide can be downloaded in zipped PDF format [2.17 Mbytes], or it can be downloaded in the segments below. The guide contains the following information, presented in seven parts: Table of Contents Preface Introduction Chapter 1: Delivering Services on Demand Chapter 2: The Sun ONE Architecture Service Containers Chapter 3: J2EE Components and Containers Chapter 4: J2EE Connector Architectures and Web-Services-Based Integration Service Integration Chapter 5: Asynchronous Reliable Messaging Chapter 6: Business Process Integration Service Creation, Assembly, and Deployment Chapter 7: Development Tools Service Delivery Chapter 8: Presentation Frameworks Chapter 9: The Portal Server Chapter 10: The Java Web Client Model Fundamental Services Chapter 11: Identity and Policy Services Chapter 12: Platform Services Core Web Services Chapter 13: Core Web Services Glossary Bibliography Index
- Free Object Oriented Development Course ( 1012 )
In this guide you will find all the information you need regarding the purpose of the module and its role as part of the course you are studying. You will also find details of the module content, the assessment requirements and lists of further resources.
- What is Service-Oriented Architecture?-by Hao He ( 996 )
SOA Defined and Explained
- Service-Oriented Architecture-Present Scenario ( 953 )
Gives a comprehensive study of the present day scenario in the SOA industry,along with links to other related articles and news on SOA.
- How to Design Programs ( 928 )
An Introduction to Computing and Programming
- Migrating to a service-oriented architecture,Introduction and overview ( 923 )
This is the first in a series of papers intended to help better understand the value of a service-oriented architecture (SOA), and to develop a realistic plan for evaluating current infrastructure and migrating it to a true service-oriented architecture. It is intended that after reading this paper,you will understand why it is claimed that a SOA is the best platform for carrying existing assets into the future, as well as enabling the rapid and correct development of future applications. Additionally, you should have a better understanding of the major considerations in planning such a migration.
- Service Oriented Enterprise ( 910 )
A concise and quick to understand explanation of SOA.
- High Scalability - Building faster, more reliable websites ( 867 )
A website dedicated to building scalable , reliable, faster websites. You will find lots of good posts here, which will enhance your understanding on software performance and architecture.
- Service-Oriented Architecture Links ( 845 )
A detailed web links directory on Service-Oriented Architecture.
- Martin fowler's articles - Software design and architecture ( 832 )
| The New Methodology | Is Design Dead? | Continuous Integration | Inversion of Control Containers and the Dependency Injection pattern |
- Enterprise Application Architecture:
| Consumer-Driven Contracts: A Service Evolution Pattern | Mocks Aren't Stubs |Richardson Maturity Model | Inversion of Control Containers and the Dependency Injection pattern | Developing Patterns in Enterprise Software | Errant Architectures | Domain Logic and SQL | Evolutionary Database Design | Agilists and Architects: Allies not Adversaries |The LMAX Architecture |
- Language Workbenches:
| Language Workbenches: The Killer-App for Domain Specific Languages? | Generating Code for DSLs | Language Workbenches and Model Driven Architecture | A Language Workbench in Action - MPS | Video: Introduction to Domain Specific Languages | Meta-Introduction to Domain Specific Languages |
- Conference Talks and interviews:
| Video: Introduction to Domain Specific Languages | Keynote for RailsConf 2006 |Keeping Software Soft | Language-Oriented Programming and Language Workbenches |Modifiability: Or is there Design in Agility | The Yawning Crevasse of Doom | Does My Bus Look Big in This? | No Silver Bullet Reloaded | Forging a New Alliance | Meta-Introduction to Domain Specific Languages | Perspectives on DSLs with Chris Sells |DSL interview with Neal Ford and Jeffery Snover (JAOO 2008) | Democratic Political Technology Revolution | Google I/O Talk on Cloud | Agilists and Architects: Allies not Adversaries | Revitalizing Enterprise Software | Three Years of Real-World Ruby |Pourquoi, pas comment | Agile Brazil Interview | InfoQ Interview with Jez and me on Continuous Delivery |
- Analysis Patterns:
| Patterns for things that change with time | Quantity | Range | Accounting Patterns |Organization Structures (Accountability) | Dealing With Roles | Specification | Recurring Event in Calendars | Dealing with Properties | Application Facades | UML Diagrams |
- XP and Agile Methods:
| It's Not Just Standing Up: Patterns for Daily Standup Meetings | The New Methodology |Using an Agile Software Process with Offshore Development | Canadian Workshop on Scaling XP/Agile Methods | Evolutionary Database Design | The XP 2002 Conference |Writing The Agile Manifesto | The Manifesto for Agile Software Development | Planning and Running an XP Iteration | Variations on a Theme of XP | Keeping Software Soft | Is Design Dead? | The XP 2000 Conference | Continuous Integration | Continuous Integration with Visual C++ and COM | Keeping Software Soft | The Almighty Thud | Agile at 10 |
- Columns for Distributed Computing:
| Keeping Software Soft | Use and Abuse Cases | Is there such a thing as Object Oriented Analysis? | Testing Methods: The Ugly Duckling | What's a Model For? | Refactoring: Doing Design After the Program Runs | The Almighty Thud | How Standard is Standard UML? |
| Refactoring Home Page | Crossing Refactoring's Rubicon |
- Supplements for UML Distilled:
| Errata for UML Distilled | Defining the UML Kernel | Changes in UML Versions |Application Facades |
- Columns for IEEE Software:
| Enterprise Architects Join the Team | Design to Accommodate Change | Your Coffee Shop Does Not Use Two-Phase Commit | Before Clarity | Fail Fast | The Most Important Design Guideline? | MDA: Revenge of the Modelers or UML Utopia? | Continuous Design| Data Access Routines | Who Needs an Architect? | The Difference between Marketecture and Tarchitecture | Components and the World of Chaos | Patterns | When to Make a Type | Using Metadata | How .NET's Custom Attributes Affect Design | Yet Another Optimization Article | Public versus Published Interfaces | Avoiding Repetition |Separating User Interface Code | Protected Variation: The Importance of Being Closed |Reducing Coupling | To Be Explicit | The Test Bus Imperative | Module Assembly |Modeling with a Sense of Purpose |
| Ruby at ThoughtWorks | Writing Software Patterns | Using the Rake Build Language |Interview with Artima.com | Reflection vs Code Generation | Enterprise Transforming Projects That Don't Kill the Enterprise | Writing with XML | Software and Obama's Victory |Eradicating Non-Determinism in Tests | Musings on Ebooks |
- Object Orientation tips ( 817 )
Welcome to ootips - a free service devoted to object oriented technologies. The purpose of ootips is to allow developers to keep up-to-date with object oriented technologies, without having to read through high volume, low signal-to-noise sources. I try to extract the most useful and interesting posts from other mailing lists, newsgroups and web forums, and post about one article every week or two.
- Information Architecture Tutorial-by John Shiple ( 804 )
Information architecture is the science of figuring out what you want your site to do and then constructing a blueprint before you dive in and put the thing together. It's more important than you might think, and John Shiple, aka Squishy, tells you why. Squishy first looks at how to define your site's goals, shedding light on the all-important art of collecting clients' or co-workers' opinions and assembling them in a coherent, weighted order of importance. He also shares his scheme for documenting everything so that all parties can keep up. The next step is figuring out who the heck your audiences are going to be. Once that's out of the way, you can start organizing your future site into pages of content and functions that the site will need to have. Next, Squishy gets into creativityland, where you start to build the beast: form a skeleton, pick your metaphors, map out your navigation. Then it's time to break out the graphics program, come up with layout grids, design sketches, and mock-ups, and get ready to build
- Catalog of Patterns of Enterprise Application Architecture ( 787 )
These pages are a brief overview of each of the patterns in P of EAA. They aren't intended to stand alone, but merely as a quick aide-memoire for those familiar with them, and a handy link if you want to refer to one online. In the future I may add some post-publication comments into the material here, but we'll see how that works out. Many of these diagrams demonstrate the rather poor GIF output of Visio. The nice diagrams were redrawn for me by David Heinemeier Hansson
- Vinci: A Service-Oriented Architecture for Rapid Development of Web Applications ( 770 )
Vinci is a local area service-oriented architecture designed for rapid development and management of robust web applications. Based on XML document exchange, Vinci is designed to complement and interoperate with wide area service-oriented architectures such as E-Speak and .NET. This paper presents the Vinci architecture, the rationale behind its design, and an evaluation of its performance. Specifically,it shows how systems architected with Vinci are developed quickly, scaled effortlessly, and easily moved from prototype to production.
- Advanced Meta Data Architecture ( 767 )
Corporations are demanding more and more functionality from all of their IT (information technology) systems, and meta data repositories are no exception to this rule. This article address the more complexed architectural challenges that arise with implementing a meta data repository that requires more advanced functionality.
- Enterprise Information Architecture - An article by Paul Sturlis ( 750 )
It provides an overview of Enterprise Information Architecture. The primary objective of an "architected" environment is to deliver higher quality, integrated systems and information at a significantly reduced cost, over time. The Enterprise Information Architecture (EIA) is the vehicle which provides the "roadmap" to the "architected" environment.
- Three Tier Software Architectures ( 736 )
A source for quick info on Three Tier Software Architectures by the Carnegie Mellon Software Engineering Institute.
- N-Tier Application Architecture - An Overview ( 732 )
An overview of N-Tier Application Architecture,esp in comparison to 3-tier architecture.
- Cover Pages: OMG Model Driven Architecture (MDA) ( 707 )
Model Driven Architecture (MDA) "provides an open, vendor-neutral approach to the challenge of interoperability, building upon and leveraging the value of OMG's established modeling standards: Unified Modeling Language (UML); Meta-Object Facility (MOF); and Common Warehouse Meta-model (CWM). Platform-independent Application descriptions built using these modeling standards can be realized using any major open or proprietary platform, including CORBA, Java, .NET, XMI/XML, and Web-Based platforms."[May 09, 2001]Cover Pages
- Client/Server Software Architectures--An Overview ( 701 )
A quick read on Client/Server Software Architectures,detailing its Purpose and Origin,Technical Detail,Usage Considerations,Costs and Limitations,etc.
- Web Services and Service-Oriented Architectures ( 675 )
This site will help you get started with Web Services and service-oriented architectures. It features free articles, services, and product listings that can be used to develop a service-oriented architecture using Web Services.
- OMG Model Driven Architecture ( 668 )
The MDA is a new way of developing applications and writing specifications, based on a platform-independent model (PIM) of the application or specification's business functionality and behavior. A complete MDA specification consists of a definitive platform-independent base model, plus one or more platform-specific models (PSM) and sets of interface definitions, each describing how the base model is implemented on a different middleware platform. A complete MDA application consists of a definitive PIM, plus one or more PSMs and complete implementations, one on each platform that the application developer decides to support
- Product-Line Architecture Research Group ( 664 )
The future of software development is automating rote tasks.By creating new ways in which software development can be automated, productivity increased, and software quality improved and addressing the topics of: Product-Line Architectures Program Generation/Synthesis Domain-Specific Languages Refactorings (Automated Applications of OO Design Patterns)
- Enterprise-Wide IT Architecture (EWITA) ( 661 )
This site is a comprehensive reference site and community resource for Enterprise-wide Information Technology Architecture (EWITA) or Enterprise Architecture (EA).
- A Brief on Application Frameworks by Christopher Browne ( 658 )
Carries a detailed write up on Application Framework,progressing from an Introduction to Query and Reporting Tools to "Middleware" and Transaction Processing Monitors.
- Enterprise Information Architecture - A powerpoint presentation ( 642 )
A power-point presentation on Enterprise Information Architecture,esp its operation in the health-care industry.
- N-Tier Application Framework-Introduction ( 621 )
Provides a concise and quick introduction to Application Framework.Is also a resource base for introductory articles on Middleware,Computing and Application Development. # The N-Tier Revolution * The Internet o Client/Server and the N-Tier Model o Two-Tier Architecture o TP Monitors o Application-Partitioning Tools o Distributed Objects o N-Tier Client/Server * Client/Server and the N-Tier Model o Middleware o TP Monitors o Application-Partitioning Tools o Distributed Objects * Distributed Computing o What is DCE? + World Wide Web + Distributed Objects * Middleware o Application-Partitioning Tools o Business Quality Messaging o Transaction Processing Monitors o Distributed Objects * Application Development o Two-Tier Architecture o The Middle ~ A Pathway To Migration o Transaction Process (TP) o Business Quality Messaging o Application Framework Overview + Distributed Objects
- Dave Beckett's Resource Description Framework (RDF) Resource Guide ( 608 )
Resource Description Framework (RDF) is a standard for describing resources on the web. This guide contains links to many RDF resources including examples, documents, software, tools and projects that use it.
- Java Platform Debugger Architecture from Sun ( 585 )
The Java Platform Debugger Architecture (JPDA) provides the infrastructure you need to build end-user debugger applications for the Java 2 Platform, Standard Edition (J2SE).
- Agile Modeling ( 580 )
Agile Modeling (AM) is a practice-based methodology for effective modeling and documentation of software-based systems. At a high level AM is a collection of best practices, depicted in the pattern language map below (click on the practice for information). At a more detailed level AM is a collection of values, principles, and practices for modeling software that can be applied on a software development project in an effective and light-weight manner.