<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Angel "Java" Lopez : Desarrollo de Software, Libros</title><link>http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/Libros/default.aspx</link><description>Tags: Desarrollo de Software, Libros</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Esos raros lenguajes nuevos: aprendiendo Python</title><link>http://msmvps.com/blogs/lopez/archive/2008/07/02/esos-raros-lenguajes-nuevos-aprendiendo-python.aspx</link><pubDate>Wed, 02 Jul 2008 17:06:55 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1639137</guid><dc:creator>lopez</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1639137</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2008/07/02/esos-raros-lenguajes-nuevos-aprendiendo-python.aspx#comments</comments><description>&lt;p&gt;En mi post del domingo pasado&lt;/p&gt; &lt;p&gt;&lt;a title="Tato Bores y el desarrollo de software" href="http://msmvps.com/blogs/lopez/archive/2008/06/29/tato-bores-y-el-desarrollo-de-software.aspx"&gt;Tato Bores y el desarrollo de software&lt;/a&gt;&lt;/p&gt; &lt;p&gt;no incluí a nadie de Python. Bueno, ya voy a agregar algo y de otros lenguajes y tecnologías. La semana pasada, el bueno de Daniel Ajoy pasó esta información en una lista dedicada al lenguaje Logo:&lt;/p&gt; &lt;p&gt;Inventa tu propio juego en Python&lt;/p&gt; &lt;p&gt;&lt;a title="http://pythonbook.coffeeghost.net/" href="http://pythonbook.coffeeghost.net/"&gt;http://pythonbook.coffeeghost.net/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;img style="margin:0px 20px 20px 0px;" src="http://pythonbook.coffeeghost.net/book1/images/cover_thumb.png" align="left" alt="" /&gt; Según el autor Al Sweigart:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;quot;Invent Your Own Computer Games with Python&amp;quot; is a free e-Book that teaches you how to program in the Python programming language. Each chapter gives you the source code for a new game, along with an explanation of how each line works.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;IYOCGwP (&amp;quot;eye-yawk-gwip&amp;quot;) is designed to be understandable by 9 to 12 year olds, although teenagers and adults with no previous programming experience can use it to teach themselves programming as well. &lt;p&gt;Se puede bajar en PDF o verlo en línea como HTML. Todavía no lo leí completo, pero por el vistazo que le di, parece interesante para comenzar a programar. Muchas veces me pregunta gente que no es &amp;quot;del gremio&amp;quot; cómo comenzar a programar. El lenguaje Python (bastante poderoso, ver también Ruby) puede ser usado a un nivel básico, sin necesidad de tener que aprender una sintaxis muy complicada. Con la llegada de estos lenguajes a las máquinas virtuales de Java y .NET, tenemos todavía más uso para estos &amp;quot;nuevos lenguajes&amp;quot;, que igualmente tienen años de desarrollo. &lt;p&gt;Hoy, ya no somos &amp;quot;programadores del lenguaje X&amp;quot;. Somos desarrolladores de software, con conocimientos de arquitectura, ingeniería de software, manejo de equipo, comunicación interpersonal, y actitudes ágiles. Aprender un lenguaje nuevo nos entrena la neurona y nos abre a nuevas perspectivas. &lt;p&gt;Nos leemos! &lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1639137" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Libros/default.aspx">Libros</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category></item><item><title>Libro Foundation of Programming, listo para bajar</title><link>http://msmvps.com/blogs/lopez/archive/2008/06/25/libro-foundation-of-programming-listo-para-bajar.aspx</link><pubDate>Wed, 25 Jun 2008 15:48:54 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1637596</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1637596</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2008/06/25/libro-foundation-of-programming-listo-para-bajar.aspx#comments</comments><description>&lt;p&gt;Gracias a Cladio M.E. Bastos Iorio de &lt;a href="http://www.blumer.com.ar"&gt;http://www.blumer.com.ar&lt;/a&gt; me entero de la aparición de este libro. Claudio posteó la información en una lista pública del MUG de Argentina (&lt;a href="http://www.mug.org.ar/"&gt;http://www.mug.org.ar/&lt;/a&gt; ):&lt;/p&gt; &lt;p&gt;&lt;a title="Foundations of Programming Ebook" href="http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx"&gt;Foundations of Programming Ebook&lt;/a&gt;&lt;/p&gt; &lt;h6&gt;&amp;nbsp;&lt;/h6&gt; &lt;blockquote&gt; &lt;p&gt;I&amp;#39;m excitted to finally release the official, and completely free, Foundations of Programming EBook. This essentially contains all 9 Foundation parts including a conclusion and some typical book fluff (table of content, acknowledgement and so on). A number of spelling errors were corrected, along with some small technical changes and clarifications - largely based on feedback, so thanks for everyone who provided it! Otherwise it&amp;#39;s exactly the same as what&amp;#39;s been posted here over the past several months. &lt;p&gt;Download it from &lt;a href="http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx"&gt;http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx&lt;/a&gt; &lt;p&gt;&lt;img src="http://www.openmymind.net/cover.jpg" alt="" /&gt;  &lt;p&gt;If the above link fails, you can also get it from &lt;a href="http://www.openmymind.net/FoundationsOfProgramming.pdf"&gt;http://www.openmymind.net/FoundationsOfProgramming.pdf&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Acabo de leer el índice, y de leer algunos capítulos rápidamente. Es muy interesante los temas que toca, y parece bien encarados. El bueno de Karl Seguin ha hecho un magnífico trabajo, colocando en un solo libro temas que nos tocan en el desarrollo de software de todos los días. Si bien está algo orientado a .NET, es totalmente aprovechable en otras tecnologías, como Java. El texto había ido apareciendo en los últimos meses, en forma de posts, y revisado por colegas, en general dentro del movimiento ALT.NET, así que el trabajo de Seguin se ha enriquecido con los comentarios de la comunidad de desarrollo. &lt;p&gt;Sobre el autor &lt;blockquote&gt; &lt;p&gt;Karl Seguin is a developer at Fuel Industries, a former Microsoft MVP, a member of the influential CodeBetter.com community and an editor for DotNetSlackers. He has written numerous articles and is an active member of various Microsoft public newsgroups. He lives in Ottawa, Ontario Canada.  &lt;p&gt;His personal webpage is: &lt;a href="http://www.openmymind.net/"&gt;http://www.openmymind.net/&lt;/a&gt;  &lt;p&gt;His blog, along with that of a number of distinguished professionals, is located at: &lt;a href="http://www.codebetter.com/"&gt;http://www.codebetter.com/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Enumero algunos temas tratados: &lt;p&gt;- El movimiento ALT.NET, enumerando y desarrollando sus pilares, algo confrontados con la visión MSDN &lt;p&gt;- Domain-Driven Design, explicando los términos, y justamente, explicando cuándo usarlo&amp;nbsp;y cuándo no, cuál es el contraste con una aproximación Data-Centric. &lt;p&gt;- Persistencia, algo con lo que lidiamos en prácticamente cada proyecto. &lt;p&gt;- Dependency Injection, una de las mejores técnicas inventadas, desde que alguien dijo que el pan tenía que venir en rebanadas. &lt;p&gt;- Unit Testing, indispensable en el bolso de la desarrolladora y en el bolsillo del caballero desarrollador. Hay días en los que pienso que hasta el Hello World de Kernighan y Ritchie debería tener su Unit Test. &lt;p&gt;- Object Relational Mappers, todo un capítulo explicando la idea y algunas implementaciones, usando NHibernate. &lt;p&gt;- Manejo de memoria, un back to basics que veo necesario, como comento en mis cursos. &lt;p&gt;- Excepciones, otro back to basics que se debe explicar. &lt;p&gt;- Proxy, tengo que ver en detalle este capítulo, para ver hasta dónde llega la idea del autor. &lt;p&gt;El libro también viene acompañado de código, con ejemplos de los temas tratados, por ejemplo, las formas de usar NHibernate, documentando sus características. Lo pueden bajar desde: &lt;p&gt;&lt;a href="http://openmymind.net/CodeBetter.Foundations.zip"&gt;http://openmymind.net/CodeBetter.Foundations.zip&lt;/a&gt; &lt;p&gt;Nos leemos! &lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1637596" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Java/default.aspx">Java</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Libros/default.aspx">Libros</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/NHibernate/default.aspx">NHibernate</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/C+Sharp/default.aspx">C Sharp</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/VB.NET/default.aspx">VB.NET</category></item><item><title>Libros gratis de computación en Internet</title><link>http://msmvps.com/blogs/lopez/archive/2008/05/20/libros-gratis-de-computaci-243-n-en-internet.aspx</link><pubDate>Tue, 20 May 2008 10:21:17 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1624869</guid><dc:creator>lopez</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1624869</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2008/05/20/libros-gratis-de-computaci-243-n-en-internet.aspx#comments</comments><description>&lt;p&gt;ATENCION, actualización: no sé cuál es el estado legal de este sitio, ver&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.pdfchm.com/terms/" href="http://www.pdfchm.com/terms/"&gt;http://www.pdfchm.com/terms/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;donde se amparan en legislación de Rusia. ¿Alguien tiene información al respecto? ¿Enlaces de &amp;quot;complaints&amp;quot; de las editoriales? No encontré nada... No sé como usan &lt;a href="http://www.postget.net"&gt;www.postget.net&lt;/a&gt; como repositorio, sin que nadie les diga nada....&lt;/p&gt; &lt;p&gt;Mientras, alguien preguntó en Yahoo Answers, sobre sitios como éste:&lt;/p&gt; &lt;p&gt;&lt;a title="http://answers.yahoo.com/question/index?qid=20070904044624AANWDPf" href="http://answers.yahoo.com/question/index?qid=20070904044624AANWDPf"&gt;http://answers.yahoo.com/question/index?qid=20070904044624AANWDPf&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Sigue por ahora el post original:&lt;/p&gt; &lt;p&gt;Desde hace unas semanas estoy usando los servicios de&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.pdfchm.com"&gt;http://www.pdfchm.com&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;&lt;img src="http://www.ajlopez.com/images/articles/pdfchm.png" alt="" /&gt; &lt;/p&gt; &lt;p&gt;Hay de otros temas, pero en mi perfil, aparecen &amp;quot;computer books&amp;quot; de todo tipo. Semanalmente, me envían por email una lista de novedades, estas son las de esta semana:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Dear Angel Lopez.  &lt;p&gt;You have received this letter because are signed on subscription.  &lt;p&gt;In the text presented below, weekly news of the site www.pdfchm.com according to your current subscription:  &lt;p&gt;Neural Networks and Pattern Recognition (Academic Press, 1998, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10823"&gt;http://www.pdfchm.com/book/?book=10823&lt;/a&gt;  &lt;p&gt;Scaling Software Agility: Best Practices for Large Enterprises (The Agile Software Development Series) (Addison Wesley, 2007, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10826"&gt;http://www.pdfchm.com/book/?book=10826&lt;/a&gt;  &lt;p&gt;Beginning VB 2008 Databases: From Novice to Professional (Apress, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10806"&gt;http://www.pdfchm.com/book/?book=10806&lt;/a&gt;  &lt;p&gt;Google Maps Mashups with Google Mapplets (Firstpress) (Apress, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10797"&gt;http://www.pdfchm.com/book/?book=10797&lt;/a&gt;  &lt;p&gt;Packet Forwarding Technologies (Auerbach Publications, 2007, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10800"&gt;http://www.pdfchm.com/book/?book=10800&lt;/a&gt;  &lt;p&gt;Full Frontal PR: Getting People Talking about You, Your Business, or Your Product (Bloomberg Press, 2003, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10831"&gt;http://www.pdfchm.com/book/?book=10831&lt;/a&gt;  &lt;p&gt;Putting Investors First: Real Solutions for Better Corporate Governance (Bloomberg Press, 2003, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10830"&gt;http://www.pdfchm.com/book/?book=10830&lt;/a&gt;  &lt;p&gt;The Value Factor: How Global Leaders Use Information for Growth and Competitive Advantage (Bloomberg Press, 2004, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10832"&gt;http://www.pdfchm.com/book/?book=10832&lt;/a&gt;  &lt;p&gt;What Can You Do with a Major in Biology: Real people. Real jobs. Real rewards (Cliffs Notes, 2005, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10816"&gt;http://www.pdfchm.com/book/?book=10816&lt;/a&gt;  &lt;p&gt;What Can You Do with a Major in Business: Real people. Real jobs. Real rewards (Cliffs Notes, 2005, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10817"&gt;http://www.pdfchm.com/book/?book=10817&lt;/a&gt;  &lt;p&gt;DVD Authoring and Production (CMP Books, 2001, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10827"&gt;http://www.pdfchm.com/book/?book=10827&lt;/a&gt;  &lt;p&gt;Multiplayer Game Programming w/CD (Prima Tech&amp;#39;s Game Development) (Course Technology PTR, 2002, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10822"&gt;http://www.pdfchm.com/book/?book=10822&lt;/a&gt;  &lt;p&gt;Renaissance and Reformation: Almanac Edition 1. (Gale, 2002, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10803"&gt;http://www.pdfchm.com/book/?book=10803&lt;/a&gt;  &lt;p&gt;Working Identity: Unconventional Strategies for Reinventing Your Career (Harvard Business School, 2003, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10801"&gt;http://www.pdfchm.com/book/?book=10801&lt;/a&gt;  &lt;p&gt;Linux Transfer for Windows Power Users: Getting Started with Linux for the Desktop (Hentzenwerke Publishing, 2004, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10824"&gt;http://www.pdfchm.com/book/?book=10824&lt;/a&gt;  &lt;p&gt;Genetic and Evolutionary Computation for Image Processing and Analysis (EURASIP Book Series on Signal Processing and Communications) (Hindawi Publishing, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10836"&gt;http://www.pdfchm.com/book/?book=10836&lt;/a&gt;  &lt;p&gt;Good Cat!: A Proven Guide to Successful Litter Box Use and Problem Solving (Howell Book House, 2004, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10821"&gt;http://www.pdfchm.com/book/?book=10821&lt;/a&gt;  &lt;p&gt;IBM Pseries Sizing And Capacity Planning: A Practical Guide (IBM Redbooks) (IBM Press, 2004, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10839"&gt;http://www.pdfchm.com/book/?book=10839&lt;/a&gt;  &lt;p&gt;The Edgar Online Guide to Decoding Financial Statements: Tips, Tools, and Techniques for Becoming a Savvy Investor (J. Ross Publishing, Inc, 2004, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10810"&gt;http://www.pdfchm.com/book/?book=10810&lt;/a&gt;  &lt;p&gt;The IAF Handbook of Group Facilitation: Best Practices from the Leading Organization in Facilitation (Jossey-Bass, 2005, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10798"&gt;http://www.pdfchm.com/book/?book=10798&lt;/a&gt;  &lt;p&gt;Information Science in Theory and Practice (K. G. Saur, 2004, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10820"&gt;http://www.pdfchm.com/book/?book=10820&lt;/a&gt;  &lt;p&gt;Google Apps Hacks (Make Books, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10835"&gt;http://www.pdfchm.com/book/?book=10835&lt;/a&gt;  &lt;p&gt;How to Do Everything with YouTube (McGraw-Hill, 2007, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10841"&gt;http://www.pdfchm.com/book/?book=10841&lt;/a&gt;  &lt;p&gt;Application Design for Wearable Computing (Synthesis Lectures on Mobile and Pervasive Computing) (Morgan and Claypool Publishers, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10805"&gt;http://www.pdfchm.com/book/?book=10805&lt;/a&gt;  &lt;p&gt;Controlling Energy Demands in Mobile Computing Systems (Synthesis Lectures on Mobile and Pervasive Computing) (Morgan and Claypool Publishers, 2007, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10807"&gt;http://www.pdfchm.com/book/?book=10807&lt;/a&gt;  &lt;p&gt;GPU-Based Techniques for Global Illumination Effects (Synthesis Lectures on Computer Graphics) (Morgan and Claypool Publishers, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10829"&gt;http://www.pdfchm.com/book/?book=10829&lt;/a&gt;  &lt;p&gt;Light Field Sampling (Synthesis Lectures on Image, Video, and Multimedia Processing) (Morgan and Claypool Publishers, 2006, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10799"&gt;http://www.pdfchm.com/book/?book=10799&lt;/a&gt;  &lt;p&gt;RFID Explained (Synthesis Lectures on Mobile and Pervasive Computing) (Morgan and Claypool Publishers, 2006, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10804"&gt;http://www.pdfchm.com/book/?book=10804&lt;/a&gt;  &lt;p&gt;Big Book of Windows Hacks (O&amp;#39;Reilly, 2007, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10833"&gt;http://www.pdfchm.com/book/?book=10833&lt;/a&gt;  &lt;p&gt;Make Projects: Small Form Factor PCs (O&amp;#39;Reilly, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10825"&gt;http://www.pdfchm.com/book/?book=10825&lt;/a&gt;  &lt;p&gt;Managing Software Development with Trac and Subversion (Packt Publishing, 2007, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10809"&gt;http://www.pdfchm.com/book/?book=10809&lt;/a&gt;  &lt;p&gt;Network Administration with FreeBSD (Packt Publishing, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10808"&gt;http://www.pdfchm.com/book/?book=10808&lt;/a&gt;  &lt;p&gt;PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide (Peachpit Press, 2007, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10840"&gt;http://www.pdfchm.com/book/?book=10840&lt;/a&gt;  &lt;p&gt;Professional SQL Server 2000 DTS (Data Transformation Service) (Peer Information Inc, 2000, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10813"&gt;http://www.pdfchm.com/book/?book=10813&lt;/a&gt;  &lt;p&gt;Running Xen: A Hands-On Guide to the Art of Virtualization (Prentice Hall, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10837"&gt;http://www.pdfchm.com/book/?book=10837&lt;/a&gt;  &lt;p&gt;Special Edition Using Microsoft Windows Vista (2nd Edition) (Que, 2008, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10828"&gt;http://www.pdfchm.com/book/?book=10828&lt;/a&gt;  &lt;p&gt;OCP Instructors Guide for Oracle DBA Certification: A Study Guide to Advanced Oracle Certified Professional Database Administration Techniques (Rampant Techpress, 2004, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10834"&gt;http://www.pdfchm.com/book/?book=10834&lt;/a&gt;  &lt;p&gt;Teach Yourself Cobol in 21 Days (Sams Teach Yourself) (Sams Publishing, 1997, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10838"&gt;http://www.pdfchm.com/book/?book=10838&lt;/a&gt;  &lt;p&gt;Current Pediatric Therapy (Current Therapy) (Saunders, 2006, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10802"&gt;http://www.pdfchm.com/book/?book=10802&lt;/a&gt;  &lt;p&gt;Dialogue Processing in Spoken Language Systems: ECAI&amp;#39;96, Workshop, Budapest, Hungary, August 13, 1996, Revised Papers (Springer, 1997, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10818"&gt;http://www.pdfchm.com/book/?book=10818&lt;/a&gt;  &lt;p&gt;Software Engineering with Reusable Components (Springer, 2001, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10815"&gt;http://www.pdfchm.com/book/?book=10815&lt;/a&gt;  &lt;p&gt;MATLAB Programming for Engineers (Thomson Delmar Learning, 2001, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10819"&gt;http://www.pdfchm.com/book/?book=10819&lt;/a&gt;  &lt;p&gt;Security Modeling And Analysis of Mobile Agent Systems (Electrical and Computer Engineering) (World Scientific Publishing, 2006, English)&lt;br /&gt;&lt;a href="http://www.pdfchm.com/book/?book=10814"&gt;http://www.pdfchm.com/book/?book=10814&lt;/a&gt;  &lt;p&gt;With best regards, PDFCHM Team. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;To operate your subscription you can login into your account on the site &lt;a href="http://www.pdfchm.com/"&gt;http://www.pdfchm.com/&lt;/a&gt;  &lt;p&gt;Algunos libros más, en mi post no técnico, orientado a otros temas y libros que me interesaron:  &lt;p&gt;&lt;a title="Libros gratis para bajarse en Internet" href="http://ajlopez.zoomblog.com/archivo/2008/05/14/libros-gratis-para-bajarse-en-Internet.html"&gt;Libros gratis para bajarse en Internet&lt;/a&gt;  &lt;p&gt;¿Tienen otros sitios como éste?  &lt;p&gt;Nos leemos!  &lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1624869" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Java/default.aspx">Java</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/PHP/default.aspx">PHP</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Libros/default.aspx">Libros</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category></item><item><title>Software Fortresses</title><link>http://msmvps.com/blogs/lopez/archive/2007/08/13/software-fortresses.aspx</link><pubDate>Sun, 12 Aug 2007 23:08:56 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1107022</guid><dc:creator>lopez</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1107022</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2007/08/13/software-fortresses.aspx#comments</comments><description>&lt;p&gt;&lt;img style="margin:0px 20px 0px 0px;" height="240" src="http://www.objectwatch.com/images/cover.jpg" width="191" align="left" alt="" /&gt; Software Fortresses (podríamos traducirlo Fortalezas de Software), es el libro más conocido de Roger Sessions, del que pueden conocer más visitando su sitio:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.objectwatch.com"&gt;http://www.objectwatch.com&lt;/a&gt;&lt;/p&gt; &lt;p&gt;en especial sus &amp;quot;white papers&amp;quot;&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.objectwatch.com/white_papers.htm" href="http://www.objectwatch.com/white_papers.htm"&gt;http://www.objectwatch.com/white_papers.htm&lt;/a&gt;&lt;/p&gt; &lt;p&gt;(el de junio de 2003 es el más cercano al libro que vamos a discutir). Publica la ObjecWatch Newsletter, que en el tiempo de publicación del libro (año 2003) era recibida por correo electrónico por más de 20000 suscriptores.&lt;/p&gt; &lt;p&gt;Roger Sessions es un experto en arquitecturas de software de empresa, y el creador del modelo presentado en el libro, el modelo Software Fortress. Veamos un resumen de lo que quiere presentarnos.&lt;/p&gt; &lt;p&gt;Es interesante el prefacio, donde Sessions le pregunta al lector, presunto arquitecto, cuál es la arquitectura del software que tiene armada en la empresa. Se imagina que recibe como respuesta una arquitectura en 3 o n-capas, totalmente ordenada y pensada. Contesta: &amp;quot;Mientes, yo sé cuál es tu arquitectura&amp;quot;. Y pasa a imaginar un &amp;quot;mess&amp;quot;, una mezcla de servidores, bases de datos, aplicaciones web, atadas con alambre diríamos en Argentina, que apenas se sostiene, y que fue creciendo con el tiempo, de forma caótica.&lt;/p&gt; &lt;p&gt;De ahí en más, se dedica presentarnos su modelo.&lt;/p&gt; &lt;p&gt;Un cuestionario que presenta en el capítulo 1, hace un relevo de la situación del lector:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;1. Su compañía tiene docenas de sistemas desarrollados independientemente, algunos armados, otros comprados, otros adquiridos por fusiones con otras empresa. Y algunos, no sabe de dónde vinieron.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;2. Sus sistemas están interrelacionados de una forma tan compleja, que no puede predecir las consecuencias de un cambio o las ramificaciones de una posible falla.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;3. Tiene discusiones &amp;quot;religiosas&amp;quot; sobre tecnología. Que Java sí, que .NET no. Ninguna de las dos partes se comunica bien con la otra.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;4. Los departamentos de su compañía no confían en los datos del otro, así que duplican esfuerzo y trabajo.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;5. Las bases de datos están hechas una mezcolanza de datos. Cada departamento tiene sus propios datos, sus propios administradores de bases de datos, y sus propias ideas de cómo manejar la seguridad de esos datos.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;6. Su compañía tiene miedo de conectarse a&amp;nbsp;Internet. Tienen información de misión crítica y privada que no quieren exponer o comprometer hacia afuera.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;7. Tiene sistemas &amp;quot;legacy&amp;quot; de los que dependen, pero tiene miedo de cambiarlos. Algunos no los cambia por lo frágiles que son, otros porque fueron construídos por empresas que ya no están en el mercado, o porque el desarrollador original pasó a mejor vida, y hasta de algunos no tiene el código fuente.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Si contesta SI a por lo menos 5 de estas preguntas, felicitaciones, no está solo, y éste es su libro.&lt;/p&gt; &lt;h2&gt;Algunas definiciones&lt;/h2&gt; &lt;h3&gt;Definition: Software Fortress&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;A software fortress is a conglomerate of software systems serving a common purpose and typically owned by a cohesive group of individuals. These software systems work together in a tight trust relantionship to provide consistent and meaninful functionality to a hostile outside world.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Esto incluye detalles técnicos y organizacionales. Desde el punto de vista técnico, una fortaleza de software es un conjunto de sistemas, que pueden ser procesos, servicios, componentes de lógica de negocio, bases de datos.&lt;/p&gt; &lt;p&gt;Desde el punto de vista organizacional, la fortaleza de software agrupa a las personas que trabajan juntas, que tienen un&amp;nbsp;razonable conocimiento de qué está trabajando cada uno, tienen confianza en los sistemas que arman y operan. Es un pequeño departamento de IT dentro de la empresa.&lt;/p&gt; &lt;p&gt;Sessions comienza entonces a desarrollar la idea que el software de una empresa debe organizarse conectando estas fortalezas de software. Adopta una serie de íconos para representar a las fortalezas, y los elementos que pueden adosárseles, para tener un dibujo, una diagrama entendible que describa cada fortaleza.&lt;/p&gt; &lt;p&gt;El libro se dedica a la parte técnica de esos elementos, y lo que Sessions y cía, han descubierto o proponen, como elementos de las distintas fortalezas. &lt;/p&gt; &lt;h3&gt;Definition: Software Fortress Architecture&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;A software fortress architecture is an enterprise architecture consisting of a series of self-contained, mutually suspicios, marginally cooperating software fortresses interacting through carefully crafted and meticulously managed treaty relantionships.&lt;/strong&gt;&lt;/p&gt; &lt;h3&gt;Definition: Software Fortress Model&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;The software fortress model is a methodology consisting of specific algorithms, categories of technologies, and documentation techniques that together can be used to model and build enterprise systems as software fortress architectures.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Un diagrama de ejemplo de fortaleza:&lt;/p&gt; &lt;p align="center"&gt;&lt;img src="http://www.ajlopez.com/images/articles/softf.jpg" alt="" /&gt; &lt;/p&gt; &lt;p&gt;Algunos de los elementos propuestos, cada uno de los cuales tiene su ícono:&lt;/p&gt; &lt;p&gt;- Las paredes (walls) de una fortaleza están diseñadas para prevenir cualquier comunicación con el exterior, a menos que pase por los canales aprobados&lt;/p&gt; &lt;p&gt;- Los canales apropiados son los puentes levadizos (drawbridges) y son vigilados por guardias (guards).&lt;/p&gt; &lt;p&gt;- Los diplomáticos (envoys) preparan la comunicación entre fortalezas.&lt;/p&gt; &lt;p&gt;- Un baúl de datos (data strongbox) representa la colección de datos persistidos que se usan dentro de la fortaleza.&lt;/p&gt; &lt;p&gt;De ahí en más, Sessions va describiendo cada uno de estos elementos, metafóricos, trasladados a tecnologías, explicando las implementaciones y la razón de ser de cada elemento.&lt;/p&gt; &lt;p&gt;Los íconos que se colocan dentro de cada fortaleza, los llama trabajadores (workers). Utiliza una librería de gráficos:&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.novadevelopment.com/Products/us/aqw/default.aspx" href="http://www.novadevelopment.com/Products/us/aqw/default.aspx"&gt;http://www.novadevelopment.com/Products/us/aqw/default.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;donde aparecen vikingos, guardias, hadas, dinosaurios (representan sistemas &amp;quot;legacy&amp;quot;), brujos, y directores de orquesta, cada uno de los cuales va adosado a un concepto de Sessions.&lt;/p&gt; &lt;h2&gt;Algunos tipos de fortalezas&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Business application fortress (BAF)&lt;/strong&gt;, donde corre el negocio. Por ejemplo, el control de inventario.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Treaty management fortress (TMF)&lt;/strong&gt; que maneja la relación con otras fortalezas&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Legacy fortress (LF)&lt;/strong&gt; con un dinosaurio dentro, representando alguna aplicación antigua.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Presentation fortress (PF)&lt;/strong&gt; representadas por un caballete de pintor, típica para un servidor o granja de servidores web.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Web service fortress (WSF)&lt;/strong&gt; representadas por un mago, son responsables de atender pedidos de funciones vía Internet.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Service fortress (SF)&lt;/strong&gt; es una de sus últimas adiciones al modelo, representadas por un hada, provee servicios a otras fortalezas.&lt;/p&gt; &lt;p&gt;Algunas fortalezas pueden tener varios íconos dentro.&lt;/p&gt; &lt;p&gt;Lo nuevo de Sessions, es presentar todos estos elementos en fortalezas. Propone que todos los sistemas, en vez de estar conectados de forma difuso, se organicen en fortalezas, donde los puntos de entrada, la seguridad, lo que exponen y consumen, está específicamente determinado por los puntos de entradas (puentes levadizos), guardias, y demás elementos. Esa es la &amp;quot;vuelta de tuerca&amp;quot; que propone. Pueden ver más detalle en el libro o en &amp;quot;paper&amp;quot; mencionado más arriba.&lt;/p&gt; &lt;h2&gt;Resumen de los capítulos&lt;/h2&gt; &lt;h3&gt;Capítulo 2: Diagramming Software Fortresses&lt;/h3&gt; &lt;p&gt;Presenta en más detalle los diagramas, algunos instrumentos de texto como la declaración de un tratado, y los tipos de fortaleza más frecuentes y sus documentos asociados.&lt;/p&gt; &lt;h3&gt;Capítulo 3: Transactions&lt;/h3&gt; &lt;p&gt;Explicita el tema tan importante de transacciones, explica qué son los recursos &amp;quot;trancsactionally aware&amp;quot;, que participan de transacciones. Si los recursos a participar de una trasacción se encuentran separados, aparece la figura del Distributed Transaction Coordinator (DTC).&lt;/p&gt; &lt;h3&gt;Capítulo 4: Drawbridges&lt;/h3&gt; &lt;p&gt;Son las tuberías por las que fluye la información de fortaleza a fortaleza. Es un punto de entrada definido a una fortaleza. Intervienen los diplomáticos para preparar el mensaje, los guardias para ver de dejar entrar un mensaje o no. Luego discute distintas tecnologías, como sobres SOAP, COM+, Enterprise JavaBeans, que pueden usarse como base de estos puentes de comunicación. Como tema importante, lo subdivide en los dos siguientes capítulos.&lt;/p&gt; &lt;h3&gt;Capítulo 5: Synchronous Drawbridges&lt;/h3&gt; &lt;p&gt;Es un canal donde el que llama espera una respuesta inmediata, como si fuera un llamada a función. Sessions destaca que&amp;nbsp;la tecnología de puentes sincrónicos se basa en componentes. Hay un &amp;quot;objeto&amp;quot; (no necesariamente un objeto, pero es frecuente) remoto que expone una interfaz, y se ve opaco desde el cliente. Plantea el problema de que históricamente, surgieron tecnologías homogéneas, que sólo permiten comunicar dos partes de la misma tecnología, pero en los últimos años surgieron, ante la necesidad de interoperabilidad, las tecnologías heterogéneas. Se deben resolver problemas como la seguridad automática (el cliente debe &amp;quot;aparecer&amp;quot; de alguna forma en el servidor llamado), manejo de instancias (cuándo un componente nace, y cuándo se libera) y el flujo de transacciones (cuándo una transacción aparece, y se expande, y cuándo viene distribuida).&lt;/p&gt; &lt;h3&gt;Capítulo 6: Asynchronous Drawbridges&lt;/h3&gt; &lt;p&gt;En situaciones donde el mensaje enviado no necesita una respuesta inmediata, se pueden usar puentes asincrónicos, donde la respuesta puede venir mucho más adelante en el tiempo. Acá, históricamente se han implementado con colas de mensajería. Se discute el tema transacciones en las colas, la persistencia de los mensajes, y la posibilidad de que el mensaje tenga varios destinatarios. De nuevo aparece el problema de puentes homogéneos y heterogéneos.&lt;/p&gt; &lt;h3&gt;Capítulo 7: Guards and Walls&lt;/h3&gt; &lt;p&gt;Las paredes impiden el acceso a la fortaleza. Los guardias lo permiten. El arquitecto de la fortaleza es responsable de ver cuán selectivo será un guardia y qué tecnologías se usarán para implementar esa selectividad. Se discuten los temas de: fortificación, validación, auditoría, autenticación, privacía, integridad, no repudiación, autorización.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Fortificación&lt;/strong&gt; se refiere a la habilidad de la fortaleza de prevenir la entrada a la misma, excepto a través de los puentes.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Validación&lt;/strong&gt; es el control y recontrol de las entradas provistas por el exterior o el usuario.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Auditoría&lt;/strong&gt; es la habilidad de trazar todos los cambios al estado interno de la fortaleza.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Autenticación&lt;/strong&gt; es el procedimiento que se usa para convencer al guardia de quién está tratando de acceder.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Privacía&lt;/strong&gt; es la capacidad de enviar información de tal manera que no pueda ser leída por usuarios no autorizados.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Integridad&lt;/strong&gt; se asegura que la información en ruta no sea cambiada.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;No repudiación&lt;/strong&gt; se refiere a la capacidad de probar más adelante en el tiempo que tal informacion vino de tal origen.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Autorización&lt;/strong&gt; es la habilidad de determinar, en base a la información que viene en el pedido (no según la fortaleza que lo pide) si su ejecución pedido puede ser permitida.&lt;/p&gt; &lt;h3&gt;Capítulo 8: Treaties&lt;/h3&gt; &lt;p&gt;Son los tratados, acuerdos formales entre fortalezas que definen cómo trabajaran entre ellas.&lt;/p&gt; &lt;h3&gt;Capítulo 9: General Fortress Issues&lt;/h3&gt; &lt;p&gt;Se tratan temas como escalabilidad. Una fortaleza es escalable si su unidad de costo de atender un pedido, es lo suficientemente baja para no perder una ganancia. Si cada pedido implica una pérdida, debería acotarse la cantidad de pedidos a atender. Otra condición para la escalabilidad es que podamos incrementar la carga de trabajo de un proceso, ya sea con mejores servidores (scale-up) o agregando servidores (scale-out).&lt;/p&gt; &lt;p&gt;Otro tema es la &amp;quot;reliability&amp;quot;, la confianza que tenemos en poder contar con la fortaleza cuando la necesitemos. Y finalmente, la integridad. Una fortaleza es diseñada para proveer una alta integridad si no hay nada que la dañe o la deje en un estado incompleto, aún ante el fallo de otras fortalezas.&lt;/p&gt; &lt;h3&gt;Capítulo 10: Internet Fortresses&lt;/h3&gt; &lt;p&gt;El tema Internet merece un capítulo aparte. Las fortalezas de presentación y de servicios web pueden ser expuestas, por ejemplo, en una zona desmilitarizada, y comunicarse de formas específicas con el resto de la empresa. Se discuten tecnologías como ASP, JSP, ASP.NET, el tema de la escalibidad (con un cluster, por ejemplo, scale-out), seguridad, como el uso de firewalls, zonas desmilitarizadas, usar servidores de presentación con sólo algunas características activadas; disponibilidad, integridad, y las tecnologías de servicios web, con los mismos temas.&lt;/p&gt; &lt;h3&gt;Capítulo 11: Business Application Fortresses&lt;/h3&gt; &lt;p&gt;Son el pan y manteca de la empresa. Son los que &amp;quot;hacen el dinero&amp;quot;. Son los procesos de contabilidad, las compras, ventas. Merecen nuestro respeto y gratitud. Se discuten componentes, manejo de estado, fronteras de transacciones y su manejo, el apalancamiento de &amp;quot;clusters&amp;quot;, Java vs .NET, y hasta el costo.&lt;/p&gt; &lt;h3&gt;Capítulo 12: Legacy, Service, and Treaty Management Fortresses&lt;/h3&gt; &lt;p&gt;Un capítulo con varios temas. Por un lado, los sistemas &amp;quot;legacy&amp;quot;. Aparecen los servicios, como por ejemplo, el &amp;quot;broadcast service&amp;quot;, cómo un &amp;quot;publisher&amp;quot; envía un mensaje a varios suscriptores. Las fortalezas de manejo de tratados manejan las relaciones complejas entre tres o más fortalezas.&lt;/p&gt; &lt;h3&gt;Capítulo 13: Software Fortress Design Review&lt;/h3&gt; &lt;p&gt;Presenta 25 preguntas que se deben realizar durante el diseño de una solución de fortalezas de software. Son tres grupos: para gerentes de nivel empresarial, para arquitectos de nivel empresarial, y para arquitectos y diseñadores de fortalezas individuales.&lt;/p&gt; &lt;h3&gt;Capítulo 14: Case Study&lt;/h3&gt; &lt;p&gt;Finalmente, se presenta un caso de estudio, una empresa que vende por Internet. Se plantea el uso de iteraciones en el desarrollo, en este caso se usan dos. Se usan documentos para analizar la complejidad de la arquitectura a armar.&lt;/p&gt; &lt;h3&gt;Capítulo 15: Postlude&lt;/h3&gt; &lt;p&gt;Presenta diez puntos importantes sobre fortalezas de software, y diez puntos para adoptar el modelo Sessions, más diez reglas para su diseño, y diez ideas controversiales del modelo (como poner en segundo lugar el rendimiento, y que los guardias son los encargados de la seguridad, y luego en la fortaleza se puede hacer lo que se quiera). Aparecen diez consideraciones para evaluar J2EE vs .NET, como si necesita o no ejecutar en un ambiente no Windows. Y diez observaciones sobre el estado de la industria del software, notablemente una: la industria del software no tiene un modelo conceptual para construir sistemas empresariales.&lt;/p&gt; &lt;p&gt;Se agradece al final la presencia de un glosario, que nos permite entender cada término presentado.&lt;/p&gt; &lt;h2&gt;Conclusión&lt;/h2&gt; &lt;p&gt;Es un libro para leer, y sacar algunas ideas. No todos tenemos que lidiar con todos los problemas presentados, pero me gusta el libro porque presenta eso: problemas. Luego, abstraidos de las soluciones tecnológicas, son mejor entendidos. Creo que muchos estudiamos tecnologías, sin tener en claro cuáles son los problemas que solucionan, y las razones, las causas de la aparición de esos problemas. Los conceptos de Sessions permiten tener claro esos temas, y luego, como adicional, menciona y describe las capacidades de las tecnologías disponibles para resolver esos problemas. Es un libro para aclarar la mente.&lt;/p&gt; &lt;p&gt;Gracias a la biblioteca de &lt;a href="http://www.southworks.net" target="_blank"&gt;SouthWorks&lt;/a&gt;, pude leerlo y comentarlo acá.&lt;/p&gt; &lt;p&gt;Nos leemos!&lt;/p&gt; &lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1107022" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Libros/default.aspx">Libros</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category></item></channel></rss>