piątek, lutego 22, 2008

Bezpieczeństwo - ciąg dalszy:

  1. Kapitalny artykuł na temat zabezpieczenia SSL stron na IIS - http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspx czytamy:

    A few last SSL related notes:

    • The IIS 7.0 admin tool has an "SSL Settings" node that you can select for each site, directory or file that allows you to control whether that particular resource (and by default its children) requires an SSL request in order to execute. This is useful for pages like a login.aspx page, where you want to guarantee that users can only enter their credentials when they are posting via an encrypted channel. If you configure the login.aspx page to require SSL, IIS 7.0 will block browsers from accessing it unless they are doing so over SSL.
    • Within an ASP.NET page or handler, you can programmatically check whether the current request is using SSL by checking the Request.IsSecure property (it will return "true" if the incoming browser request is over SSL).
    • You can set the "requireSSL" attribute on the <forms> configuration section within web.config files to have ASP.NET's forms-authentication system ensure that forms-authentication cookies are only set and used on SSL enabled pages and URLs. This avoids the risk of a hacker trying to intercept the authentication cookie on a non-SSL secured page, and then trying to use a "replay attack" from a different machine to impersonate a user.
  2. Zasoby książkowe oraz bezpłatny hosting na: http://aspnet.codeguru.pl/ksiazki.htm
  3. Strona MVP - Windows: http://www.visualwin.com/
  4. Jak to się robi strony w MVC pod .NET - http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx
  5. LINQ dodawanie/usuwanie/aktualizacja tabel - http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx a nawet:
  6. Jak to się robi - LINQ: http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx
  7. Jak wystartować w ASP - http://www.asp.net/get-started/
  8. Całkiem start w ASP:
    1. http://www.asp.net/
    2. http://msdn2.microsoft.com/en-us/asp.net/default.aspx
    3. http://joeon.net/post/2008/02/New-Live-From-Redmond-Webcasts-with-Visual-WebGui.aspx
    4. http://msdn2.microsoft.com/en-us/sqlserver/aa336346.aspx
    5. http://msdn2.microsoft.com/pl-pl/beginner/bb308760(en-us).aspx
    6. http://msdn2.microsoft.com/pl-pl/security/bb896640(en-us).aspx
    7. http://www.ajaxonomy.com/2008/security/ajax-security
    8. http://blogs.msdn.com/webdevtools/
    9. http://code.google.com/apis/accounts/docs/AuthForWebApps.html

środa, lutego 20, 2008

Podpis cyfrowy

  1. http://www.asp.net/learn/security/?lang=cs
  2. Przykład weryfikacji podpisu XML - http://lists.w3.org/Archives/Public/w3c-ietf-xmldsig/2002AprJun/0006.html wraz z przykładami
  3. Inny on-line weryfikator - http://www.aleksey.com/xmlsec/xmldsig-verifier.html
  4. Współpraca różnych narzędzi do podpisywania - http://www.w3.org/Signature/2001/04/05-xmldsig-interop.html

Ciekaw strony:

  1. SideJacking - b. niebezpieczne zagrożenie wytypowane w pierwszej 5 zagrożeń 2007. Witryny zwykle szyfrują dane poufne, ale wysyłają "session-id" danej sesji w jawnym tekscie. Trzeba dokładnie poznać "zakamarki" protokołu HTTP/HTTPs oraz narzędzia Wireshark oraz Mozilla cookie editor. Ten obiekt jest przesłany w:
    1. URL jako losowo wybrane dane
    2. jako HTTP cookie, ciasteczka są wysyłane za każdym razem do serwera(chyba, że są zaznaczone jako prywatne)

Hacker może podejrzeć session-id i uzyskać dostęp do konta i np. odczytać zawartość poczty .

  1. Więcej na te tematy - http://blog.icir.org/2008/02/sidejacking-forced-sidejacking-and.html
  2. Uwaga: ciasteczka mogą być zaznaczone jako secure ) GX - wtedy należy stosować SSL (wymuszony jest)

Zasoby środowe:
  1. Ciekawy skrót (z ciekawego bloga):
    1. Things That Get People Excited (let's call them TTGPEs)
    2. KISS
    3. WIL (well I like it)
    4. WMSDT (well Microsoft do that)
    5. Duże ma też znaczenie też podejście "appeal to authority" (np Stefan and Mark Baker są autorytetami od REST)
  2. Trwa walka w standardzie usług webowych - REST (google) lub SOA (MS/IBM)
  3. Inny blog z BEA
  4. Quercus - cyrk na kółkach czyli PHP napisany w czystej Javie
  5. Przyjrzyj się tytanom VFP (Hsia i Rick) + ten rosyjski serwer o VFP.ru
  6. Świetny serwer cytatów (np. Einsteina)
  7. Serwer informacyjny - http://www.it-director.com/
  8. Przy tworzeniu i projektowaniu oprogramowania należy pamiętać o F. Brooks. Czyta to się jak Biblię "wszyscy to znają i czytają ale nikt nie przestrzega...". Są też tam idee spowalniające projekt np. "syndrom drugiego systemu", "mityczne pojęcie człowieko-miesiąca" (nie sumuje się wydajność od zatrudnienia większej ilości osób), "zamiast używania wielu wyspec. narzędzi lepiej używać jednego ale z wieloma dodatkami" , "zespół naczelnego chirurga" (wykonuje on najtrudniejszą część operacji, resztę kończą jego pomocnicy)....
  9. Super historia o Początkach technologii AJAX, która powstała w MS -Alex Hopmann
  10. Bezpieczeństwo - AJAX (a w zasadzie XMLHttpRequest) podlega zasadzie "ograniczenie dostęp do zasobów tej samej domeny" (same origin policy). Można to łatwo obejść ponieważ dostęp do dwóch innych zasobów w przeglądarce nie podlegają tym restrykcją (polityce bezp.). Mowa oczywiście o skryptach i obrazkach. I tu tkwi główne niebezpieczeństwo protokołu HTTP. Z drugiej strony mamy rozproszoną architekturę korporacyjną SOA tzn. wywołanie zdalnych procedur (usług). Często do realizacji usług webowych (WS) wykorzystuje się SOAP, i to działa. Ale w przypadku przeglądarki i lekkiego klienta to jest za ciężkie. Dlatego w architekturze Web 2.0 stosuje się lekki protokół REST. Oferuje on przejrzysty model REST budowanie usług webwych w oparciu o specjalnie zdefiniowany adres do zasobów podawanych w adresie HTTP w zwykłej przeglądarce. Zasada działania REST opiera się o trzy reguły:
    1. Usługa REST wyraża się poprzez URL np. jako adres - http://bea.com/content/getArticles?author=joe
    2. Trzeba podać operację (poprzez żądanie HTTP):
      1. GET odczyt,
      2. POST zapis,
      3. PUT aktualizacja
      4. DELETE usunięcie
    3. Zwracane są dane w formacie XML / JSON
  11. REST ma operacje takie same jak DML w standardzie SQL czyli jest to kolejny dowód na pożyteczność takiego podejścia
  12. Zasoby z powyższego serwisu (http://dev2dev.bea.com/pub/a/2007/05/google-mashups.html):
    1. http://dev2dev.bea.com/pub/a/2005/08/ajax_introduction.html
    2. http://dev2dev.bea.com/pub/a/2007/02/introduction-json.html
  13. Inny problem - dostęp do bazy danych w językach programowania. Nowoczesne języki obiektowe (a nawet dynamiczne jak Python) wymagają ścisłego typowania danych. Powoduje to problemy przy dostępie do danych w bazach relacyjnych i przesyłania ich do pól w językach programowania. Najczęściej wymagane jest mapowanie. I tutaj pojawiają się problemy jakimi narzedziami to opisać. Wyróżniamy generalnie dwa sposoby:
    1. Natywny
      1. zaszłościowy:
        1. przykładowo jak języki 4GL np. Informix 4GL (pożyteczne jest w nim odwzorowanie klasycznego problemu ORM z którym borykają się języki obiektowe np. Java czy C# struktur danych w rekordzie z bazy czy tabeli w pola i struktury w programie - DEFINE ... LIKE)
        2. VFP bardzo nowocześnie, dodatkowo istnieją funkcje do przejścia z bazy to XML (CURSORTOXML) i na odwrót (XMLTOCURSOR)
      2. nowoczesny poprzez ORM - Java Hibernate
      3. nowocześniejszy - poprzez LINQ w C# (wady: działa z natwynym MS SQL Serverem i brak mu automatu do adnotacji/translacji klas - trzeba to robić zewnętzrnym 'sqlmetal' na piechotę)
    2. Inny - np. obudowanie w specjalny wrapper składnie języka SQL jak to ma miejsce w dostępie ADO (ASP) czy ADODB (PHP), ale dane wysyłane i odbierane jako tekst, są też problemy z danymi binarnymi np. pochodzącymi z BLOB-ów.

wtorek, lutego 19, 2008

Zasoby Google API na poważnie:

  1. Strona rozbiegowa z wieloma łączami do API
  2. API w Pythonie - http://pygoogle.sourceforge.net/
  3. Strona główna koderów Google - http://code.google.com/
  4. UrbanMonk - jak przetrwać w chaosie - http://www.urbanmonk.net/258/change-your-thoughts-and-change-your-life-the-art-of-cognitive-reframing/

Inne:

  1. MVC w wiki
  2. Bezpieczeństwo w AJAX - http://www.ajaxonomy.com/2008/security/ajax-security

Zasoby do MS SQL Server Express -strona główna

Paltforma .NET:

  1. Blog dla twórców .NET
  2. Nauka .NET dla początkujących
  3. Oficjalna strona .NET w MS
  4. My learning track - ścieżka edukacyjna MS dla deweloperów

Kapitalne zasoby z IBM

  1. "Popularny Quiz 20 pytan" http://www.ibm.com/developerworks/xml/library/x-e4xpart1/?S_TACT=105AGX54&S_CMP=B0215&ca=dnw-906 - korzysta z EX4 (niestety)
  2. Super zasoby z tego artykułu:
    1. Live sample application: See and try the finished Twenty Questions application for this article.
    2. E4X specification (PDF file, 1.81 MB): Read the official syntax and semantics for ECMAScript for XML, a set of programming language extensions that add native XML support to ECMAScript.
    3. Ajax and scripting Web Services with E4X (Paul Fremantle and Anthony Elder, developerWorks, April 2005): In this article, find a more complex example of E4X and JavaScript combined to initiate Web services requests.
    4. Sample knowledge base: Download the latest version of the knowledge base the Twenty Questions application.
    5. 20q.net: Try a real implementation of Twenty Questions using a neural net.
    6. The Game of Twenty Questions: Learn strategies for playing Twenty Questions with humans.
    7. Binary search algorithm: On Wikipedia, learn more about this technique to find a particular value in a sorted list.
    8. Tutorial: Build apps using Asynchronous JavaScript with XML (Naveen Balani and Rajeev Hathi, developerWorks, November 2005): Learn to develop and design Web applications based on Asynchronous JavaScript with XML, or Ajax.
    9. Ajax and XML: Five Ajax anti-patterns (Jack Herrington, developerWorks, March 2007): Learn which common practices of Ajax coding to avoid in this article.
    10. Ajax and XML: Five common Ajax patterns (Jack Herrington, developerWorks, March 2007): Look at five common Ajax design patterns that you can use as a basis for your own work.
    11. Ajax for Java developers: Build dynamic Java applications (Philip McArthy, developerWorks, September 2005): Dig into this five-part series that introduces a groundbreaking approach to creating dynamic Web application experiences using Ajax.
    12. IBM XML certification: Find out how you can become an IBM-Certified Developer in XML and related technologies.
    13. XML technical library: See the developerWorks XML Zone for a wide range of technical articles and tips, tutorials, standards, and IBM Redbooks.
    14. developerWorks technical events and webcasts: Stay current with technology in these sessions.
    15. The technology bookstore: Browse for books on these and other technical topics
  3. http://www.ibm.com/vrm/newsletter_10731_2755_61225_email_DYN_5IN/urg35457530

Opis środowiska RAD firmy IBM

Eclipse 3.2 Environment
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Based on open-source EclipseEclipseXXXX
Code assistEclipseXXXX
Code refactoring (Java)EclipseXXXX
Local and team resource managementEclipseXXXX
Plug-in Development Environment (PDE) for extensibilityEclipseXXXX
Debugging servicesEclipseXXXX



Web Development Tools
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Web Site Designer to visually manage and analyze web sitesXX
Web diagram editor for Model-View-Controller designXX
Integrated visual page designer with round-trip raw edit abilityXX
JSP and servlet wizardsWTPX*X*XX
Java Server Faces (JSF) tools - includes JSF Reference Implementation (runtime) and JSF components and visual toolsXX
Struts 1.0 and 1.1 support (Struts 1.2 tolerance)XX
Web development templates and samplesXX
Service Data Object (SDO) supportXX
Support for HTML, DHTML, XHTML, CHTML, JavaScript, CSSWTPX*X*XX
Support for Struts and visual custom tagsXX
Active script debugging for Javascript and Visual Basic ScriptXX
Built-in Crystal Report tools for developing visual data reportsXX
JSF-based report viewing for embedding reports into web applicationsXX
Test and development license of Crystal Enterprise Server for enterprise-wide reportingXX


Graphical UI Editing
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Visual GUI Web Editing: JSF, JSP, HTMLXX
Visual Java GUI Editing: SWT, AWT, and SwingVEXXX




J2EE Development
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Concurrent support for J2EE 1.2, 1.3, 1.4 specificationsWTPX*X*XX
Support for Servlet 2.3 and 2.4WTPX*X*XX
Support for JSP 1.1, 1.2, 2.0WTPX*X*XX
Support for EJB 1.1, 2.0, 2.1WTPX*X*XX
Support for JAXP 1.2 (J2EE 1.4), 1.3 (J2SE 5)WTPX*X*XX
Support for JAX-RPC 1.1WTPX*X*XX
Support for SOAP 1.1, 1.2WTPX*X*XX
Support for JNDI 1.2.1WTPX*X*XX
Support for Java™ Message Service (JMS) and EJB Query LanguageXX
Support for JDBC 3.0WTPX*X*XX
Support for JAR, EAR, WAR packagingWTPX*X*XX
Wizards for creating session beans and CMPs and BMPsWTP
(Only Xdoclet style)
X*
(Only Xdoclet style)
X*
(Only Xdoclet style)
XX
Support for session beans and CMPs and BMPsWTPX*X*XX
O/R mapping (top-down and bottom up)XX
Universal Test ClientXX
Support for building J2EE applications with JDK 1.4.2, targeting WebSphere® Application Server (WAS) v5.1.0.1, v6.0, and v6.1XX
EJB client JAR support to automate the creation of EJB clientsWTPX*X*XX
EJB snippet support to simplify generation of EJB client access codeXX
J2EE Connector Architecture (JCA) tools and adapters for building WebSphere applications that integrate CICS and IMS transactionsXX
Deploy J2EE applications to WebLogic Server (via WTP)WTPX*X*XX




Web Services Development
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Web Services wizards to take you through each step in Web Services developmentWTPX*X*XX
Generate Web service client from WSDL/WSILWTPX*X*XX
Create Web services from Java beans or WSDL/WSIL files using Axis 1.3 Web service runtimeWTPX*X*XX
Create Web services from Java beans, EJBs or WSDL/WSIL files using IBM® WebSphere JAX-RPC Web service runtime.XX
Create Web services from DADX files using DADX - IBM WebSphere JAX-RPC Web service runtime.XX
Discover Web services from JSFXX
WSDL visual editorWTPX*X*XX
Support for J2EE 1,2, J2EE 1.3, J2EE 1.4WTPX*X*XX
Create, validate and detect WS-I compliant Web ServicesWTPX*X*XX
UDDI Registry Browser v2 (interoperated with, but does not exploit, v3)WTPX*X*XX
Discover and publish services to the UDDI Business RegistryWTPX*X*XX
Deploy and test Web Services into Tomcat test environmentsWTPX*X*XX
Deploy and test Web Services into the WebSphere Application ServerXX
Generate native Z-series and COBOL Web ServicesXX
Web Services explorerWTPX*X*XX
Test Web service client with generated sample JSPWTPX*X*XX
Test Web Service client with Universal Test ClientXX
Create, assembe and deploy reliable, asynchronous, secure and interoperable Web Services including support for JAX-WS 2.0, JAX-B 2.0, SOAP 1.27.0.0.37.0.0.3




Portal/Portlet Design tools
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Visual portlet development and WebSphere Portal unit test environmentXX
Visual portal application development and editing of the themes and skins that control appearanceXX
Integrated portlet support for JSF and the Struts frameworkXX
Portlet templatesXX
Support for IBM® Portlet API and JSR 168 standard portlet APIXX




Database Development
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Database wizards to simplify database connectionWTPX*X*XX
Support for DB2, IBM Cloudscape, Oracle 9i, Informix, MS SQL Server, and SybaseWTPX*X*XX
DB Explorer to browse or import database schemasWTPX*X*XX
Data view to create and work with database schemasWTPX*X*XX
SQL query builder and wizard to visually create and execute SQL statements XX
Relational Schema Center to map relational database tables to XMLXX
Object-to-Relational MappingXX
Many-to-many mapping wizardXX
Generate and test Document Access Definition (DAD) fileXX
Stored procedure builderXX
SQLJ supportXX


XML Development
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
XML editor and validatorWTPX*X*XX
XML Schema editor and validatorWTPX*X*XX
Simplified XML Schema Graphical editing optionsXX
High Performance XML Schema validatorXX
XML Schema documentation generatorXX
XML Schema inferencer (XML -> XSD)XX
XML Grammar converters (DTD -> XSD, XSD-> DTD)XX
XML Schema to Java code generation (XSD->SDO)XX
DTD editor and validatorWTPX*X*XX
XSLT editor and validatorXX
XSLT debuggerXX
XPath wizardXX
XML-to-XML mapperXX


Integrated Server Support
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
WebSphere Application Server unit test environments: v5.1, v6.0, v6.1XX
WebSphere Application Server - Express unit test environments: v5.1XX
WebSphere Portal Server unit test environments: v5.1, v6.0, v6.0.1XX
Server enablement (through server adapters)
WebSphere Application Server Community Edition v1.xWTPX*X*XX
Weblogic Application Server v8.1, v9.0 v9.2WTPX*X*XX
Tomcat Jakarta v3.2, v4.0, v4.1, v5.0, v5.5WTPX*X*XX
Jboss v3.2.3, v4.0WTPX*X*XX
JOnAS v4WTPX*X*XX
Glassfish (via free download)WTPX*X*XX
Oracle v10.1.3WTPX*X*XX
Geronimo v1.0, v1.1WTPX*X*XX
Pramati v4.1.xWTPX*X*XX



Testing and Deployment
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Rapid Deployment for WAS 6.0, v6.1XX
Deploy J2EE applications to Weblogic server using IBM Rational Toolkit for Weblogic ServerXX
Integrated WAS Test environmentXX
Test environment for JSP files, servlets, HTML filesXX
EJB universal test clientXX
TCP/IP Monitor to monitor requests and responses between a browser and an application serverWTPXXXX
Manage server instances and server configurationsWTPX*X*XX
Test different run-time environments locally or remotelyWTPX*X*XX
Testing and publishing tools for webWTPX*X*XX



Java Code Analysis
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Dynamic runtime code analysisTPTPXXXX
Static source code analysis and reporting
J2SE Best PracticesTPTPX*XXX
J2SE Design PrinciplesXXX
J2SE SecurityXXX
Globalization, Performance, and NamingXXX
J2EE SecurityXXX
Private APIXXX
Integrated Java Development EnvironmentEclipseXXXX
Configurable JREXXXX
Java Development Kit, including Java 5 supportXXXX
Scrapbook for testing code snippetsEclipseXXXX
Code RefactoringEclipseXXXX
*No built-in BIRT-based reporting of analysis results.


Java Runtime Analysis
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Tabular view for code coverage annotationTPTPXXXX
Sequence Diagrams (host, thread, class, object interactions)TPTPXXXX
Advanced memory profiling and memory leak detectionTPTPXXXX
Code coverage Analysis (Method level)TPTPXXXX
Code coverage Analysis (Line level)
Views to visualize thread interactionsTPTPXXXX
Remote data collection across multiple serversTPTPX*X*XX
User defined runtime probesTPTPXXXX
Interactive reports and metrics (BIRT based reports)TPTPXXXX
TPTP performance profiling, tracing and loggingTPTPXXXX



Java Structural Analysis
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Automatic pattern detectionXX
Automatic anti-pattern detectionXX
Architectural discovery, analysis, metrics, and stability reportingXX
Implementation level architectural rulesXX



C/C++ Development Tools
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
C/C++ Development Tools, version 2.0 supportCDTX*XX*X
C/C++ editors and build managementCDTX*XX*X
C/C++ Compiler and debugger integrationCDTX*XX*X
C/C++ UML code editorsXX
Integration with third-party Eclipse-based C/C++ IDEsX


Architecture Frameworks
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
DoDAF SupportXXX


UML Modeling Tools
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Support for UML 2.1 models MDTXXX*X
Standard Diagram Support: Class, Communication, Component, Composite Structure, Deployment, Activity, Sequence, State, Use Case, and ObjectXXX
UML profile editorXXX
OCL SupportXXX
Automatic diagram generationXXX
Eclipse ExtensibilityPDEXXXX
Extensive Eclipse/Modeling/Patterns/Transformation APIXXX
Java-based "scripting" for extensibility leveraging the Eclipse JDTXXX
Visual compare/mergeXXX
UML sequence diagram view of Java method bodiesXX
Integration with logical data modeling and physical data modeling in Rational Data ArchitectXXX
Dynamic topic diagramsXXX
Visual refactoringXX
Mixed modeling supports the mixing of UML and code modeling artifacts on the same diagram.XXX
UML Model RefactoringXXX



Code Modeling Tools
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
EJB Modeling (UML notation for EJBs)XX
Java Modeling (UML notation for Java classes and interfaces)XXX
C++ Modeling (UML notation for classes and structs))XX
UML sequence diagram view of Java method bodiesXXX
DDL Modeling (using IE notation)XXXX
Include code modeling diagrams as part of Javadoc documentationXXX



Pattern/Transformation Support
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Data Model Transformations
    UML to Logical Data Model*
XXX
C++ and CORBA Transformations
    C++ to UML
XX
    UML to C++
XX
    UML to CORBA IDL
XX
Java and EJB Transformations
    Java to UML
XX
    UML to Java
XX
    UML to EJB
X
Service Oriented Architecture Transformations
    Business Process to Service Provider
7.0.0.2
    UML to BPEL
7.0.0.2
    UML to SCDL
7.0.0.2
    UML to WSDL
7.0.0.2
    UML to XSD
7.0.0.2
    Merge support for UML-to-XSD, UML-to-WSDL, and UML-to-SOA transformations
7.0.0.4
Selective language to UML harvestingXX
UML Pattern contentXXX
UML Pattern/Transform authoring framework and servicesXXX
Enhanced GUI-based JET Transform Authoring toolsXXXX



Reusable Asset Browser
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Browse and import assets from a repositoryXXX
Package model and development artifacts into a RAS bundleXXX



Productivity
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Cheat sheets for EclipseEclipseXXXX
Additional Cheat sheets for product featuresXXXX
Application templates and template libraryXXXX
Eclipse samples and tutorialsEclipseXXXX
Comprehensive product samples and tutorialsXXXX
Getting Started and Installation GuideXXXX



Team
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Pluggable repositoriesEclipseXXXX
Adaptors for Concurrent Versions SystemEclipseXXXX
Adaptors for Rational ClearCase®XXXX
Rational ClearCase LTXXXX
Drag-and-drop association of RequisitePro® requirements with modelsXXXX
Document generation with SoDA®XXX
HTML and XML based data extraction and reportingXXXX
HTML and XML based model reportingXXX
Extensive printingXXXX
Model traceability reporting and custom queriesXXX
IBM Problem Resolution ToolkitXX
RUP® Developer ConfigurationXX
RUP Architect ConfigurationXXX
RUP Systems Developer Configuration (with RUP SE content)X


Installation Requirements
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Processor800 MHz Pentium III800 MHz Pentium III800 MHz Pentium III800 MHz Pentium III
Memory512 MB512 MB1 GB1 GB
Disk Space, while installed750 MB1 GB2 GB2 GB
Additional disk space required while running (in directory pointed to by the TEMP environment variable on Windows or in /tmp on Linux)500 MB500 MB500 MB500 MB
Eclipse versions into which product can be installed3.2.2
(but < 3.3)
3.2.2
(but < 3.3)
3.2.2
(but < 3.3)
3.2.2
(but < 3.3)



Integrations
Architecture Management toolsEclipse / Eclipse ProjectsRational Software Modeler v7.0Rational Systems Developer v7.0Rational Application Developer v7.0Rational Software Architect v7.0
Rational Asset ManagerXXXXX
Rational ClearCase 2003.06.xx (v6), v7XXXXX
Rational ClearCase LT on Windows: 2003.06.13 or laterXXXXX
Rational ClearCase LT on Linux: 2004 SR4 or laterXXXXX
Rational ClearQuest® 2003.06.13 or laterXXXXX
Rational RequisitePro versions 2003.06.13 or laterXXXX
Rational SoDAXXX
Rational Unified Process® 2003.06.13 or laterXXXX
WebSphere Business Modeler versions 5.1, 6.0XX
* Rational ClearCase v5 has been discontinued. Patch level NT-32 was required to support the RSA ClearCase type manager.
See the Installation Guide for each product for additional information.
Function that is available and can be added from Eclipse / Eclipse Projects, but is not included in the offering by defaultX*
Glossary

CDT - C++ Development Tools
MDT - Model Development Tools
PDE - Plug-in Development Environment
TPTP - Test and Performance Tools Platform
VE - Visual Editor
WTP - Web Tools Platform