domingo, febrero 25, 2007

Informit: Cómo robar 80.000 identidades en un día

Cyrus Peikary y Seth Fogie, autores de la guía de seguridad de Informit, explican el seguimiento y detección de un caso de acceso ilegal a una red, y cómo se obtuvo su base de datos completa de clientes:
Summary of the Attack
So, let's put this all together. The attacker wanted to gain access to AMS's database. So, they found one of a handful of people that would be guaranteed to have full access to the data they desired — Dr. Smith. They followed Dr. Smith around and discovered that she used a public hotspot every day for about a half hour. The attacker then waited until a vulnerability was found for Internet Explorer, and injected an exploit into her browser using a freely available program called airpwn. This allowed the attacker to infect Dr. Smiths computer with a Trojan and keylogger. Later that day, Dr. Smith took her laptop home and logged into AMS's network, all of which was captured by the keylogger. The customized Trojan allowed the attacker to connect to the infected computer, read the keylogger file, and log in to the corporate network via the VPN. Then using the borrowed credentials, was able to connect to the database, and download the records for 80,000 people.

Lessons Learned
The attack was made possible due to three main issues. First, antivirus programs are not fool proof. The Trojan slipped through the cracks because it was customized, and as such, not recognized by the protection software. Second, using a public hotspot is dangerous. There are several ways for an attacker to hijack or inject malicious content into a connection. Third, while there were complex security controls in place, the weakest link was a simple username and password — and these forms of credentials are often guessable or easy to steal.
Fortunately for AMS, the attacker was apprehended because they failed to notice a security camera at the ATM outside the coffee shop. In addition, the website that the data was posted to was within the United States, and was quickly shutdown. The logs for the web server were reviewed and each person who had viewed the content was questioned. While it was still possible that the data could be leaked at a later date, AMS and the FBI were fairly certain that the breach had been plugged and the threat of identity theft was minimal.
But what if the attacker had gotten away with it?

sábado, febrero 24, 2007

Mercado informático argentino recuperando su nivel de 2001

En La Nación:
El mercado de las tecnologías de la información crece a paso firme y está cerca de recuperar el nivel que tenía antes de la crisis. Según un informe de la consultora Prince &Cooke, durante 2006 la facturación en computadoras, software y servicios informáticos superó los 3000 millones de dólares, una suma que se acerca a los US$ 3690 millones registrados en 2001, el último año de la convertibilidad.
El sector creció un 22,1% respecto de 2005, año en que la facturación llegó a los US$ 2493 millones. Por tercer año consecutivo, el crecimiento supera el 20 por ciento anual, tendencia que, según empresas de los distintos sectores que forman parte del mercado de tecnologías de la información (TI), continuará.
En 2006 se vendieron 1400.000 computadores, con un 11% de portátiles en el total.
Los equipos portátiles son, sin duda, las estrellas del mercado. Durante 2006 se vendieron 150.000 notebooks (...) las expectativas para este año giran en torno de las 250.000 unidades, con una penetración cercana al 15 por ciento.
El consumo de PC, (...), es impulsado fuertemente por las pymes y los hogares, que representan el 80% del total.
Esto hace que una gran parte del mercado esté acaparada por los clones, computadoras armadas con piezas de distintas marcas. (...), el 82% de los equipos son de este tipo, "pero esto empieza a cambiar, porque las notebooks que se compran son de marca"

miércoles, febrero 21, 2007

Puedo aprender OOD sin pasar por el diseño procedural?...

Una vez más, el grupo comp.object de Google Groups desarrolla un punto de interés sobre el diseño orientado a objetos (OOD en su sigla inglesa). Un forista indú, Pandit, nuevo en el aprendizaje del diseño de software, pregunta si es necesario pasar por un enfoque "procedural" antes de abordar la visión orientada a objetos. Esta es una pregunta que he visto repetida en otras discusiones, e incluso vi sostenida como currícula de distintas carreras informáticas.
Sigue la pregunta, y dos o tres afirmaciones en contra de este criterio, en palabras de H.S. Lahman, Arnuld, y Dmitri A. Kazakov.
La pregunta de Pandit:

I need to learn OOA-D 1st. so the question now is:
Can i learn OOA-D without learning Proecdural/Modular design 1st?
will that not handicap me?
( i am interested in C++, OOD & Templates and i do not want to learn C 1st, which is procedural. one of my friends, advised me to learn OOD 1st & then C++ but he has no idea on whether to learn procedural or modular 1st as a solid-base of programming or OOD)
La respuesta de Lahman:

> will that not handicap me?

It will not handicap you. In fact, it is a distinct advantage. The OO paradigm is fundamentally different than the traditional procedural approaches. One cannot mix & match the two. A major problem that procedural developers have when they convert to the OO paradigm is that they essentially need to forget everything they learned about proceduraldevelopment.

> ( i am interested in C++, OOD & Templates and i do not want to learn C
> 1st, which is procedural. one of my friends, advised me to learn OOD
> 1st & then C++ but he has no idea on whether to learn procedural or
> modular 1st as a solid-base of programming or OOD)

Your friend is correct. All of the OOPLs are 3GLs so they make substantial compromises with the hardware computational models for things like procedural block structuring, stack-based scope, and procedural message passing. (That is especially true for C++.) As a result it is very tempting to overlay procedural thinking on the OOPLs because syntactically they are procedural languages with added abstract constructs on top.
In addition, the procedural approaches are much more intuitive for algorithmic processing on computers because they grew up in academia solving scientific problems. The OO paradigm works from the opposite end of the spectrum by abstracting customer problem spaces rather than hardware computational models. So it is not very intuitive if one has already learned procedural development.
So get a good OOA/D book and learn the fundamentals of the OO paradigm first. (The Books category of my blog has some guidelines for selecting a good book.)
Respondiendo a Arnuld
[>>In addition, the procedural approaches are much more intuitive for
>>algorithmic processing on computers because they grew up in academia
>>solving scientific problems. The OO paradigm works from the opposite end
>>of the spectrum by abstracting customer problem spaces rather than
>>hardware computational models. So it is not very intuitive if one has
>>already learned procedural development.
> Lahman, doesn't that mean: "a programmer will learn more about
> programming from algorithms and procedural approach rather than from
> OOD" ]
, Lahman dice:
Not quite. What it means is that OO development requires a different mental approach to problem solving that procedural development. My point here is that there is a substantial learning curve in adopting OO techniques, more than for applying procedural techniques in a computing environment. That's because the OO paradigm is focused on problem space abstraction rather than hardware computational models. Most customer problem spaces are not highly algorithmic.
For example, IT is characterized by applying lots of quite trivial individual algorithms to mountains of data. In a General Ledger application a heavy duty algorithm is a long division in an allocation.
The real problems lie in managing the data and organizing a gazillion small algorithms that need to be cobbled together in complex ways.
(That's why it was called Data Processing for two decades before Information Technology became fashionable.)
Corollary: if you need to solve an atmospheric diffusion problem, the OO paradigm is probably not the way to do that. B-) One doesn't use OO techniques to implement a Quicksort algorithm even if one can identify objects like Pivot and Partition. That's because the goal of the OO paradigm is maintainability in the face of volatile requirements over time. The Quicksort algorithm isn't going to change over time so one gets no benefit for using OO techniques while procedural techniques are quite intuitive for the problem.
[OTOH, OO techniques are good for gluing together different algorithms and dealing with the peripheral stuff like organizing data, UIs, and persistence. So even complex algorithmic problems can benefit from using OO techniques at the next level up from the pure mathematical algorithms. IOW, use the right tool for the problem.]
Comparando ambos paradigmas, agrega:
The paradigms are almost diametrically opposed. Procedural techniques are based on functional decomposition with its hierarchical dependencies. One can argue that the whole point of the OO paradigm is to eliminate hierarchical dependency structures.
All that good OO stuff -- encapsulation, separation of message and method, decoupling, implementation hiding, flexible logical indivisibility, problem space abstraction of intrinsic properties, capturing business rules in static structure, etc., etc. -- plays together expressly to eliminate hierarchical dependencies.
Pero Kazakov apunta, y disiente:
In some sense yes it definitely is. Methods are procedures. Their decomposition is procedural. However some types of decomposition are automated (upon inheritance or delegation). Further, for meta programming, OOPLs provide new types of procedures to deal with classes.
There is no way to get rid of this sort of decomposition when the number of states is any large. What any procedure does is in fact an abstraction of a set of state transitions. You describe a bunch of transitions like 1->2, 2->3, 3->4, etc by a function inc:N->N. The difference is like between finger counting and arithmetic. Now what OO does (on this basis) is identifying N, the set of natural numbers for which arithmetic works.
Esta discusión recién comienza...Como siempre, suele enriquecerse y extenderse.

martes, febrero 20, 2007

Finalistas de Google en Latinoamérica

En América Economía: Google da el listado de finalistas de su primer concurso regional de programación en Latinoamérica: las cifras dan una idea de distribución de capital humano:
Participantes: más de 5000
Finalistas: Brasil, 29; Argentina, 11; México, 6; Colombia, 2; Bolivia, 1; Islas Vírgenes, 1
Por género: masculino, 50
El concurso presenta a los participantes con una serie de retos que deben resolver utilizando su creatividad y habilidades de programación.
Los finalistas de este año volarán a la oficina de ingeniería de Google en Belo Horizonte, Brasil para competir por US$ 36.000 reales en efectivo y premios el 1 de marzo del 2007.
Este año es la primera vez que el concurso de programación Code Jam se realizará en Latinoamérica, seguido de exitosos eventos en Nueva York, Dublín, Bangalore y Beijing, dijo Berthier Ribeiro-Neto, Director de Ingeniería de Google Belo Horizonte.

domingo, febrero 18, 2007

Advertencias sobre el "laptop de 100 dólares"

Retomando el punto anterior, Andrés Oppenheimer pone hoy una objeción al uso de la tecnología en la educación, que justamente considero su talón de Aquiles: un instrumento depende de cómo se lo use, y es aquí donde todavía no se ven transformaciones notables. Dice Oppenheimer sobre los planes de difusión del "computador de cien dólares":

(...) Pero los críticos dicen que el plan está destinado al fracaso, porque los gobiernos pronto encontraran que harían mejor uso de su dinero invirtiéndolo en la capacitación de maestros. Y, segun los críticos, los maestros se van a oponer a este proyecto, ya sea porque les asustan las computadoras o porque creen que los niños deben aprender a leer y escribir correctamente antes que ninguna otra cosa.
''Si vas a gastar esta cantidad de dinero, deberías empezar por capacitar a los maestros'', dice Marten Brienen, un profesor de la Universidad de Miami que se especializa en problemas educativos de los países andinos. ``Estás hablando de países donde el 30 a 40 por ciento de los maestros son substitutos''.

Por supuesto, no se trata de no usar la tecnología, que puede ser una herramienta poderosa, sino de no olvidar que es una herramienta, y que depende de los conceptos con los que se la maneje, y los propósitos para los que contribuya. Dice Oppenheimer:
Mi opinión: si los países latinoamericanos logran combinar la inversión en laptops y programas como Enciclomedia con una mayor capacitación de maestros, la región podría dar un impresionante salto tecnológico a la modernidad. Y si, además de eso, las laptops escolares de $150 obligan a otros fabricantes de computadoras a reducir sus precios, ganamos todos.

Alex Oxenford: el acceso a la tecnología es una necesidad básica

Alec Oxenford escribió en abril de 2006 una nota sobre la importancia de la tecnología en la educación, que va en el mismo sentido de lo que es verdaderamente importante de la experiencia indú, algo que ya hemos discutido aquí:
Frecuentemente cuando se habla de la importancia del acceso a la tecnología, se oyen las voces de quienes dicen que antes de dar acceso a la tecnología (una computadora y acceso a Internet) es mucho más prioritario satisfacer necesidades “más básicas” como alimento, techo, etc.
Este enfoque es equivocado. La manera de asegurar la producción de riqueza que ayude a eliminar la pobreza es justamente aumentar la productividad de la sociedad, y esto tiene mucho que ver con aumentar el acceso a la tecnología. El acceso a la tecnología en el Siglo XXI es como el acceso a la escritura en el Siglo XIX o el acceso a la electricidad en Siglo XX. Cuándo comenzaron a surgir los movimientos a favor de una educación masiva y gratuita, también los detractores atacaron en ese momento la iniciativa por ser “innecesaria” o por sugerir la prioridad de repartir comida o construir viviendas. Justamente la manera de salir del atasco de la pobreza es pegar el salto tecnológico.
Sin duda, comparto la visión de Oxenford sobre el valor que tuvo la democratización de la educación en Argentina para su elevación económica y social por casi cien años:
El caso del presidente Sarmiento en Argentina a fines del Siglo XIX es paradigmático. Sarmiento se da cuenta que para progresar como nación, se necesitaba educar al 70% de la población argentina que era analfabeto en ese momento. Dado que no se contaba en el Argentina con la tecnología para lograr este objetivo revolucionario, Sarmiento “importó” miles de maestras de Estados Unidos para ayudar a implementar su plan. Con esta decisión, Argentina preparó el terreno para los 40 años de mayor prosperidad de su historia. La productividad Argentina tuvo un crecimiento explosivo y en consecuencia, la nación se enriqueció brutalmente.
...Y comparto en lo que a instrumento se refiere, con su visión sobre el uso de la tecnología en la escuela:
Necesitamos PCs conectadas y maestros entrenados en tecnología en cada escuela del país. Necesitamos niños alfabetizados tecnológicamente. El Estado no puede escaparle a esta gran responsabilidad. Un acceso efectivo a la tecnología (computadora + Internet) y una educación adecuada sobre como usar la tecnología genera efectos sociales revolucionarios.
Quiero resaltar el carácter instrumental del recurso de la tecnología, ya que hace falta algo más, un cambio conceptual en los educadores, porque de lo contrario tendremos lo mismo, con nuevo ropaje.

sábado, febrero 17, 2007

Jaim Etcheverry: ¿Qué universidad necesita la Argentina?

Siguiendo con las observaciones sobre la educación y la universidad en la Argentina, se reproducen aquí algunas opiniones de Guillermo Jaim Etcheverry, expresadas entre 2005 y 2006, cuando todavía era rector de la universidad de Buenos Aires. En primer lugar, lo más reciente: su intervención durante el “ciclo Politicas de estado para el desarrollo de la Argentina. Educacion” organizado por el diario Clarin con motivo del 60º aniversario de su fundacion. Buenos Aires, 17 de agosto de 2005.
En este caso, el eje de su argumento se desarrolla alrededor de la defensa de la universidad como generadora de ideas con autonomía de objetivos inmediatos, y en la crítica de la limitación de la universidad a un organismo de atención del mercado.
Dice Jaim Etcheverry:
Aunque resulte ocioso, tal vez convenga reiterar la importancia central de las universidades para el desarrollo social. Lo ha expresado muy bien el escritor Luis Britto García cuando afirmó: “El lugar que una sociedad asigna a sus universidades coincide misteriosamente con el que esa sociedad ocupa en el mundo.”
Posiblemente el núcleo de esta discusión acerca de la función social de la universidad consista en determinar si la institución debe adaptarse a la sociedad o si ésta debe hacerlo a la universidad. Parecen contraponerse dos concepciones que, en realidad, se articulan, complementándose. De lo que se trata no es sólo de modernizar la cultura universitaria, sino también de culturizar la modernidad social. Es que la universidad tiene la función irrenunciable de cultivar y proponer hacia afuera ciertos valores que le son propios. Su misión hoy es civilizar el nuevo milenio y, para lograrlo, es preciso que emprendamos un esfuerzo destinado a convencer a la sociedad de que la educación encierra valores propios y que no es solo la clave de valores económicos.
El hecho de tener que enfrentar serias restricciones económicas, está impulsando a las universidades a emprender cualquier tarea que les permita sobrevivir. La ideología de la década de 1990 causó estragos en muchos de los protagonistas de la vida de nuestras universidades, que recurren a lo inimaginable para subsistir. Desde competir con los profesionales que forman hasta enseñar tango, todo resulta válido en la lucha feroz por hacerse de algunos fondos. Se enseñorea en nuestras universidades un canibalismo suicida, una lucha egoísta de todos contra todos, reflejo a su vez de una alarmante mediocrización de nuestras clases dirigentes.
Tal vez una de las características que mejor define la situación de la universidad actual sea esta acelerada incorporación a la lógica empresarial y comercial que hoy domina todas las esferas del quehacer humano. Se instala con fuerza avasalladora la concepción que, para justificar su existencia, la universidad debe exhibir resultados mensurables y comercializables. De allí que se apliquen a la institución y a sus “productos” los mismos criterios con los que se juzga la productividad y la eficiencia de las empresas que trafican bienes, en este caso la educación.
La lógica empresarial dominante ha conquistado de manera acelerada un territorio que, hasta no hace mucho, estaba ligado a valores culturales y académicos y no a los puramente materiales y comerciales. Parecería que no se advierte que resulta imposible aplicar la lógica de las empresas a un “producto” tan difícil de definir como “un estudiante educado”, un “profesor talentoso” o un “conocimiento significativo”.
El análisis de cualquier aspecto de la actividad universitaria actual, descubre ese tránsito acelerado hacia la comercialización. Las universidades se ven forzadas y estimuladas a intentar “venderse” de una manera atractiva para las corporaciones, insistiendo en la “relevancia económica” que tiene la tarea que en ellas se lleva a cabo. Con frecuencia se termina por realizar acciones e investigaciones que solo son importantes para esos negocios.
Al entrar en el ocaso la idea de que la sociedad toda progresa cuando se eleva su nivel cultural, es lógico que se piense que quien ahora se concibe como beneficiario exclusivo de la universidad, el alumno, sea este quien afronte el pago de sus estudios. De la tradición de la educación como inversión social, estamos pasando a la concepción de que se trata de un beneficio personal. Esto hace que la contribución del estado a la educación universitaria sea vista como un factor de desigualdad, idea que reaparece con fuerza en periodos de grandes restricciones de los fondos afectados a las inversiones sociales.
Jaim Etcheverry destaca particularmente la responsabilidad de la universidad en la formación de personas, no simplemente en la entrega de conocimiento útil:

En la nueva realidad creada por la constelación de altisonantes términos de moda, que adoptamos sin análisis, se destaca nítidamente la apelación a la "salida laboral". Si bien la inserción de los jóvenes en el mundo del trabajo constituye un objetivo importante de la educación, no debemos perder de vista que las grandes universidades del mundo pretenden formar “personas” completas, integrantes de una dirigencia social que comparta una visión de la complejidad del mundo. Lo hacen proporcionando a sus alumnos las herramientas intelectuales apropiadas para comprender los grandes cambios que hoy se producen velozmente y para intentar encauzar el destino social. Son esas cualidades, por otra parte, las que permiten que esos alumnos trabajen.
Con culpa, hoy se justifica a la educación como un instrumento útil para lograr otros fines: es buena para los negocios o para las carreras profesionales. Rara vez alguien dice que es buena para la persona. Esa mujer, ese hombre, son los encargados de transformar la realidad. No deberíamos perder de vista que estamos formando personas que, sin duda, además deben ser empleables.
Este desinterés por la dimensión humana de la tarea del educar, explica que las universidades estén cambiando hasta volverse irreconocibles. Solo si conseguimos reinstalar la idea que la educación pertenece a la esfera del ser y no a la del tener, podremos revertir la tendencia actual que busca convertir a la educación superior en un sector más del mercado de bienes y servicios, con la ingenua complicidad de muchos de nosotros.

Sobre la importancia que Argentina da actualmente a la universidad:
Debemos reconocer que la Argentina está lejos de asignar ese papel de liderazgo a sus instituciones de educación superior. Ello se pone claramente de manifiesto en la magnitud de los fondos que el Estado asigna para su funcionamiento. Si bien es evidente que en los últimos tiempos se advierte una clara y auspiciosa preocupación por incrementar el apoyo a la ciencia y a la educación en todos sus niveles, debemos convencer a la sociedad argentina de que resulta preciso animarse a dar un osado salto hacia el futuro, duplicando o triplicando la inversión educativa, como lo han hecho los pueblos que avanzan. La gravedad de nuestra situación queda demostrada con elocuencia por la comprobación de que una sola universidad del Brasil, la de San Pablo, recibe del Estado un presupuesto que representa la mitad del que la Argentina asigna a sus 38 universidades nacionales. En un mundo en el que los investigadores y docentes pueden desplazarse sin dificultades, es ilusorio pensar que tendremos buena ciencia y buenas universidades sin realizar una generosa inversión. Es un espejismo imaginar que tendremos una universidad seria y competitiva – y, por lo tanto una sociedad que comparta esas características – sin docentes dedicados a la tarea de investigar y enseñar recibiendo una retribución decente, sin bibliotecas actualizadas y laboratorios bien provistos, sin estudiantes motivados, capaces y apoyados, sin personal entrenado y sin ámbitos apropiados para el trabajo.
Cuando querramos identificar las palancas del cambio social sobre las que puede operar la universidad, no deberemos mirar afuera y lejos como ahora nos incitan a hacerlo. Bastará con volver nuestra atención hacia nuestras modestas aulas y laboratorios. El actor del cambio posible está allí: es la mente de nuestros jóvenes. A ellos deberemos proporcionar las herramientas intelectuales que les permitan trascender el injusto mundo de inmediatez en el que vivimos. Si los jóvenes no adquieren experiencia en el análisis crítico, en la percepción de lo que hoy sucede – experiencia que parecería poder dar sólo una universidad que sea tal y no la suerte de academia profesional en que se está convirtiendo entre nosotros – corremos el riesgo de perder nuestras reservas de capacidad, calidad y hasta de indignación humanas, esenciales para el análisis crítico y la transformación de la realidad.
El texto completo de sus palabras también se encuentra archivado en el sitio de la UBA.
Una pequeña historia de Jaim Etcheverry se puede encontrar en la nota de Ana Laura Perez en Clarin:
Integrante de numerosas academias (y recientemente nombrado miembro extranjero honorario de la American Academy of Arts and Sciences de los EE.UU.) empezó de chico. Luego de la primaria en Villa del Parque cuando egresó con medalla de oro de la Escuela Argentina Modelo. Descartó la ilusión de estudiar cine porque la única escuela del país quedaba en Santa Fe. Su padre bromeaba diciéndole que eligió Medicina porque le quedaba cerca de la casa familiar, por entonces en Lavalle y Callao. El tenía otras razones. Aunque quería investigar, buscaba una formación más integral que la que pensaba que le ofrecerían Biología o Bioquímica, carreras que también le gustaban. Se recibió en el 65 con diploma de honor y en el 72, su tesis de doctorado fue premiada como la mejor en Ciencias Básicas de ese año.
Antes de dejar las aulas enfiló derecho al laboratorio para especializarse en neurobiología, alcanzando el estatus de investigador principal del CONICET en el 84. Completó su formación en Basilea, Suiza, y en el Instituto Salk de La Jolla, California, gracias a la prestigiosa beca Guggenheim que obtuvo en 1978. Luego, se dedicó a trabajar siempre en el país, rechazando invitaciones para radicarse en Oxford (Inglaterra) y centros académicos estadounidenses.
Entre 1986 y 1990 fue elegido decano de la Facultad en la que siempre estudió y levantó una enorme polvareda cuando propuso discutir las condiciones de ingreso, estudio y práctica profesional de la carrera.

miércoles, febrero 14, 2007

CORBA revaluado (respuesta a Michi Henning)

En noviembre pasado dediqué algunas líneas a un artículo de Michi Henning sobre el "surgimiento y caída de CORBA" , que fuera bastante comentado en el ambiente de middleware, tanto por su impacto en CORBA, como por sus puntos de contacto y diferencias con servicios web. En particular a mí me interesaron también sus apuntes sobre el peso de la forma en que se construyeron sus estándares, que también representan patrones de desarrollo de estándares en software que hemos visto repetidamente.
Pero también es de interés la respuesta a Henning desde el campo de CORBA. Una detallada respuesta (sin firma) existe en The ORBZone, sitio de la comunidad CORBA:
Michi Henning’s recent article entitled “The Rise and Fall of CORBA” provided a very interesting insight into the history of the standardisation of CORBA from someone who was a core part of that process. While some of the technical limitations he addresses are correct, others are taken out of context or even from outdated specifications. CORBA is alive and well and applicable today in more industry verticals than it was in its heyday of the 90’s. Airline reservations, e-commerce back-ends, telco transactions and financial systems all deliver millions of messages per second powered by CORBA. The truth is that the most vocal CORBA detractors are CORBA competitors, with products that are derivatives of CORBA.
Justamente, las observaciones de Henning sobre la construcción del estándar motivan la primera respuesta:
It is unfortunate that a lot of the attacks have been aimed at the CORBA standardization process, and by extension, the OMG itself. It is relatively easy to sit alone and develop a proprietary solution that fits exactly what a single company wants to achieve. It’s much harder to develop a standard that suits every voting member. Arguments, blockages, concessions and complications are all part of this process. Does that mean the multi-vendor standardization process is flawed? Not at all! In fact, I would argue just the opposite. A standard that has the approval of all interested parties in that space has a far greater chance of acceptance and survival than does the rogue standard created by a single, uncooperative vendor. CORBA is just one example of a consensus-derived standard; the W3C and SCA have also been extremely successful with their efforts as well. And even Sun, who developed and standardized J2EE single-handedly, had to eventually introduce the JCP. The argument is that it’s much easier to create a bug-free specification without the hindrance of a consortium. But let’s be realistic here – no specification is perfect. Consortium-derived specifications often seem buggier simply because of their increased scrutiny and multi-vendor implementations as opposed to single-vendor specifications which are usually implemented only by that same vendor. And as far as standardization goes, the single-vendor specification still has to gather industry support and public acceptance to become a recognized standard. This means that at some point the specification will be put through the same arguments, concessions, blockages, bug issues and cooperation as the consensus-based effort. CORBA achieved consensus and usage which is why there are so many battle hardened CORBA systems working today. Companies that can co-operate on a standard prove that they are mature enough to be able to co-operate for the benefit of customers. The alternative is domination by one vendor which either has a monopoly and charges excessively or is too small to sustain themselves for the long lifecycles which will be demanded of infrastructure products.
La crítica se extiende luego en detalle defendiendo el estándar de los argumentos de Henning, sobre complejidad del API y de la documentación, y la seguridad.
Lateralmente, el sitio OrbZone ofrece un punto de encuentro de CORBA, y su alcance actual. También se menciona allí el grupo sobre el tema en Google.

domingo, febrero 11, 2007

La educación en Finlandia

Esta nota es una parte de lo que detallo en otro sitio. Me interesa aquí lo que hace a la enseñanza universitaria, en el contexto de las observaciones que se hacen aquí sobre la Universidad Iberoamericana. En el sitio Finlandia Virtual, del Ministerio de Relaciones Exteriores de Finlandia, se enumeran las principales características de su sistema, comenzando por sus líneas generales:
Uno de los objetivos del sistema educativo finlandés es velar por las capacidades, las aptitudes y la cultura de toda la población. El principio de la educación permanente – ofrecer la posibilidad de aprender algo nuevo durante toda la vida – es un importante objetivo de todo el sistema, desde la educación básica hasta la destinada a los adultos. El gasto público en educación representó en 1998 el 6,2% del PNB (el promedio de los países de la OCDE es del 5,3%). Los finlandeses poseen un elevado nivel educativo. En las comparaciones internacionales se destaca especialmente la educación de los jóvenes. La evaluación PISA (Proyecto Internacional para la Producción de Indicadores de Resultados Educativos de los Alumnos) realizada por la OCDE en el año 2001, mostró a Finlandia entre los primeros países del mundo
Aquí quisiera destacar específicamente las características del sistema de educación superior:
El sistema de educación superior está integrado por las universidades y las escuelas superiores. La premisa del funcionamiento de las universidades es la unidad entre investigación y enseñanza. La función básica de las universidades es realizar investigación científica e impartir la enseñanza más elevada basada en la misma. Las universidades expiden títulos inferiores (llamados candidaturas), superiores (maestrías) y de postgrado (licenciaturas y doctorados). También imparten enseñanza complementaria y organizan la llamada universidad abierta. Las escuelas superiores profesionales, básicamente orientadas hacia una salida laboral, son por naturaleza polifacéticas y regionales. Expiden títulos terciarios con enfoque profesional. Las universidades y las escuelas superiores están distribuidas por todo el país, y se procura asegurar oportunidades de estudio equitativas para todos independientemente del sitio de residencia.
(...) En las universidades y escuelas superiores profesionales hay plazas para un 65% de los jóvenes de cada promoción. Uno de los objetivos del gobierno es incrementar el número de ciudadanos con títulos terciarios.
Las Universidades:
La actividad universitaria se basa en la libertad científica y en la autonomía. Por autonomía se entiende que el sistema de toma de decisiones de las universidades es muy independiente. Las universidades y las facultades se dan sus normas y deciden sus planes de enseñanza. Las universidades también fijan la cantidad de plazas para las distintas carreras. Las veinte universidades de Finlandia son del estado, el que aporta la mayor parte de su financiamiento. Los estudios universitarios en principio están al alcance de todos, ya que no se cobran matrículas.
Las funciones de las universidades, establecidas por ley, son fomentar la libre investigación, las ciencias y las artes, e impartir la enseñanza superior basada en la investigación. Las universidades deben organizar su gestión para alcanzar un elevado nivel internacional en la investigación, la enseñanza y la instrucción, observando los principios de la ética y las buenas prácticas científicas.
Las universidades seleccionan a sus alumnos mediante pruebas de admisión. Tienen plazas para aproximadamente un tercio de los jóvenes de cada promoción. Las principales áreas de estudio son las ciencias técnicas, las humanidades y las ciencias naturales. Las universidades expiden títulos inferiores y superiores, y títulos científicos de postgrado, que son las licenciaturas y doctorados. Los estudios de un título inferior suelen durar tres años (120 créditos o semanas académicas), y los de un título superior unos cinco o seis años (160 a 180 créditos).
En las universidades finlandesas había en el año 2000 más de 150.000 estudiantes matriculados en carreras de grado, entre ellos más de 3.700 extranjeros. La red universitaria cubre todo el país, hasta la septentrional Laponia. Diez de las universidades tienen varias facultades, tres son politécnicas, tres están especializadas en ciencias económicas y cuatro son de formación de artistas. Fuera del ámbito del Ministerio de Educación funciona la Escuela Superior de Defensa, que se ocupa de la educación militar superior.
Las escuelas superiores:
La característico de las escuelas superiores profesionales es su estrecha relación con el ámbito laboral. Su objetivo es preparar a los estudiantes para desempeñarse como profesionales expertos en distintas ramas.
El sistema de escuelas superiores profesionales es bastante joven, pues se creó en los años noventa. La reforma obedeció a la intención de canalizar el crecimiento de la matrícula de la enseñanza superior de las universidades a las escuelas superiores profesionales.
El requisito de ingreso en las escuelas superiores profesionales es el bachillerato o un título de formación profesional básica. Estas instituciones se diferencian de las universidades en que en vez de ser estatales, son municipales o privadas. El estado no obstante soporta el 57% de sus costos básicos. Los títulos son especializados por profesión, y se obtienen en 3,5 o 4 años (140 a 160 créditos). Para titularse, además de aprobar el plan de estudios, se debe hacer un período de práctica laboral y un trabajo final.
Las escuelas superiores profesionales imparten enseñanza en las siguientes áreas: técnica y comunicaciones, comercio y administración, servicios sociales y de salud, servicios culturales, turismo, restauración y economía doméstica, recursos naturales, humanidades y magisterio. El Ministerio de Educación debe aprobar los currículos de grado, pero las escuelas deciden independientemente sus planes de estudios. En el año 2002 se iniciará una experiencia piloto de estudios de postgrado (de 40 a 60 créditos) en las escuelas superiores profesionales en ciertas carreras en las que la demanda laboral así lo requiere. En las 29 escuelas superiores profesionales de Finlandia había en el año 2000 unos 114.000 alumnos en carreras de grado.
Estos son fundamentos de la posicición actual de Finlandia en el mundo: Investigación, formación técnica para el trabajo, libertad de decisión, disposición de recursos, facilidades para su adopción...

Marcelino Cereijido y la ciencia en Argentina

el 10 de febrero de 2007, La Nación publica un reportaje de Nora Bär a Marcelino Cereijido, que también extracto en Diario del Camino, con más amplitud. Invito a leer la breve nota, con respuestas de un científico sobre la actitud de intelectuales y autoridades argentinas sobre la ciencia y la técnica. Aquí, sólo quisiera destacar dos afirmaciones suyas:
La primera, una valoración de las autoridades y su actitud:
-Creo que la campaña que debería hacerse en la Argentina tendría que ser difundir la ciencia entre el empresariado, para que aprendiera a usarla. En México, donde soy miembro del Consejo Consultivo de Ciencia de la Presidencia, he desayunado, he comido y he cenado discutiendo sobre estos temas. Se quejan de que nadie apoya a la ciencia, y yo les digo: "A cada secretaría de Estado pídanle una lista de las diez cosas en las que esperarían apoyo de las universidades y centros de investigación". Yo me haría muy mala opinión de un secretario de Estado que en un momento en que aparecen redes de computación, Google, satélites de comunicaciones y demás no puede hacer una lista con las diez cosas importantes para un país en las cuales tendrían una función importantísima la ciencia y la tecnología.
La segunda, una visión sobre las oportunidades perdidas:
(...) si voy a Zambia y veo que no tienen ciencia y tecnología, pienso: "Bueno..." Pero ¡en la Argentina hay tanta gente capaz! Cuando me encuentro con algún "cerebro" en Heidelberg o en Londres, me pregunto cómo puede ser que ese señor haya sido formado en la Argentina -es decir que hay maestros- con becas argentinas -quiere decir que hubo apoyo-, pero lo están aprovechando los daneses o los suecos. Desgraciadamente, en nuestros países toman la ciencia como un decorado y no como algo sumamente vital. Y si un pueblo no tiene en una punta sabios que investiguen sobre teoremas estrambóticos y conductas celulares básicas, acaba teniendo en la otra deudas monstruosas, obreros sin trabajo, miseria e hijos de exiliados.

sábado, febrero 10, 2007

"La decadencia educativa argentina es monumental"

La nota anterior, continuidad de otras varias, me inclina a dedicar dos o tres más a algunas opiniones sobre educación, Universidad y ciencia, que mantengo como citas en (ítems sobre Educación y Universidad) , pero que merecen más espacio. Así, estarán unidas en una pequeña serie, que quisiera que sirviera para que alguien al menos las leyera, y quizá, milagrosamente, a alguien le sugiriera alguna acción positiva...
Para comenzar, este reportaje a Horacio Sanguinetti, Rector del Colegio Nacional de Buenos Aires, conocido en el diario Rio Negro, pero probablemente distribuido en cadena en múltiples diarios argentinos. El reportaje, publicado el 24 de abril de 2006 (todavía faltaba ver el escándalo de las elecciones en la UBA), es conducido por Carlos Vernazza:
Usted, cuando habla, no anda con medias tintas. Una vez dijo que "desde el punto de vista intelectual, en la Argentina hoy hay una decadencia infernal".
–Sí, es cierto. La decadencia en nuestra escuela es monumental. La sociedad entera se da cuenta, de vez en cuando, si se hacen esas mediciones acerca de los ingresos a la Universidad, y cuando los organismos internacionales nos ponen en la lista terceros, empezando por atrás en cuanto a nuestras deficiencias educativas. Lo malo es que tuvimos una gran escuela y todo eso se ha rifado, se ha liquidado. Los que estamos en la educación no necesitamos las mediciones. Yo acá, en el colegio, vivo algo diferente[El Nacional Buenos Aires], pero cuando he tenido contacto con los bachilleres que ingresaron a la universidad me siento descorazonado.
Sobre la calidad de las escuelas medias, Sanguinetti no excluye de los males a las escuelas privadas, muy difundidas por la pérdida de calidad de las escuelas públicas:

¿Este colegio es una isla? [El Nacional Buenos Aires]
-Hay otros colegios importantes. Son 50 los colegios que pertenecen a las universidades y en todos lados son los mejores en su medio. En Córdoba está el Monserrat que es muy bueno y aquí el Carlos Pellegrini. Respecto de los demás hay de todo. No es cuestión de creer que porque es privada y cara es buena, siempre. Hay escuelas buenas y malas, como en todas partes. Hay un mito que viene de antes, que consideraba a la escuela privada mucho más fácil y la gente prefería mandar a sus hijos a la escuela pública para que realmente aprendiera. Ahora hay un mito en sentido contrario. Lo que sí tiene la escuela privada, que muchos padres privilegian, es un cierto orden, no hay paros, están bien vestidos, aunque también se portan bastante mal, pero bueno, hay un orden formal.

Sobre la calidad de la Universidad, particularmente la UBA:

–¿Y la universidad nacional, sigue teniendo mejor nivel que las universidades privadas?
–Sí. La Universidad de Buenos Aires está dentro de los estándares de las mejores universidades del mundo. Es la única argentina junto a unas pocas de Latinoamérica, que tiene buen nivel.

–¿Se puede tener un buen nivel de exigencia cuando tiene 270 mil alumnos, como en la UBA?
–En general, en todas las universidades del mundo hay cifras fenomenales de alumnos. Nosotros tenemos un presupuesto diez veces inferior al de la UNAM (Universidad Nacional Autónoma de México) para un número mucho mayor de alumnos, o sea que tienen todas las ventajas sobre nosotros. La Universidad debería ver el tema de la regularidad en los estudios, porque no puede ser que un alumno sea aplazado setenta veces y tarde veinte años en terminar la carrera. Después se reconoce como muy meritorio un alumno que egresa de la Facultad de Derecho a los 81 años, si sabemos que socialmente no sirve para nada. Tambié vemos que los alumnos se anotan para rendir libres, por deporte, y cuando formamos la mesa son treinta inscriptos, pero capaz que se presenta uno solo y a la vez siguiente, pasa lo mismo. Habría que limitar todo eso que cuesta esfuerzo.

Sobre la existencia de exámenes de ingreso a las universidades:

–¿Es verdad que la universidad argentina es una de las pocas en el mundo que conserva el ingreso irrestricto?
–Sí, de las pocas en el mundo. Pero yo diría que no es irrestricto desde el momento que tienen el CBC. Y en otras universidades del país, donde no hay CBC pero tienen exámenes de ingreso muy severos, según las facultades. Cada facultad debería regular de acuerdo a las necesidades, porque hay algunas que casi no tienen alumnos, como Ingeniería que ha caído notablemente su cantidad de aspirantes. Después hay carreras especulativas como Letras y Filosofía, donde la sobreabundancia no daña, está muy bien que haya muchos alumnos. Pero en otras carreras donde están comprometidos valores sociales muy importantes, la vida, la seguridad jurídica, habría que ser más estrictos.

–Pero mire lo que le pasó al decano de Medicina de La Plata, que por ponerse duro con el examen de ingreso le costó el cargo.
–No conozco los detalles, pero en Córdoba y Rosario esto fue una batalla importante y no hubo consecuencias.

–Pero ahora leímos que en Rosario, hasta los que sacaron un cero van a ingresar por una medida judicial.
–Bueno, es el gobierno de los jueces. Se tropieza con eso porque el juez desde su despacho decide qué se debe hacer en un colegio o en una universidad, si se puede sancionar a un alumno o no, le explica al director del colegio lo que tiene que hacer y de paso contribuye al desprestigio que tiene la justicia en este momento.

El reportaje no es muy extenso, poco más que lo aquí extractado. Las respuestas, más que establecer una vía de solución, sirven para hacerse una idea del escenario universitario argentino: hay algo más que se escapa, algo más que es lo único que puede explicar la decadencia, a pesar de que se pueda hablar razonablemente bien de las partes...

Matemática sigue causando aplazos en La Plata

Simplemente como un corolario del real estado de situación de la educación argentina, un año más, los exámenes de aptitud tomados en la Universidad de La Plata produjeron mayoritariamente aplazos. Según Infobae, siguiendo al diario El Día:
Los jóvenes que se presentaron en los exámenes de la Universidad de La Plata volvieron a estar por debajo del nivel esperado. El 80 por ciento reprobó la prueba de matemática, lo cual complica su ingreso a la Facultad.
Estos tests eran de carácter optativo y se tomaron en las facultades de Agronomía e Informática. Su aprobación permitía eximirse del curso previo al ingreso a las carreras. Pero el nivel de los alumnos fue más bajo de lo esperado.
La primera observación apunta a deficiencias estructurales del currículum de estudios, sobre química y matemáticas:
Luciana Garate, integrante del equipo de coordinación del curso de ingreso en Agronomía, donde también se tomaron exámenes de biología, física y química, remarcó que matemática y química son las áreas que más complican.
"Biología es una disciplina que les resulta más sencilla. Por otra parte, los alumnos acceden a los contenidos. Eso no sucede en química, porque en el Polimodal hay orientaciones en las que no está o se ve en los primeros años. Entonces, cuando llegan a la facultad tienen que empezar de cero”, explicó según publicó el diario El Día.
Los resultados:
En Agronomía, la asistencia osciló entre los 30 y los 60 alumnos sobre un total de 260 inscriptos y ninguno logró pasar más del 40 por ciento de los evaluados. Matemática fue el piso con el 20 por ciento.
En la facultad de Informática se presentaron 22 estudiantes y sólo 4 pudieron llegar al nivel esperado. Las fuentes consultadas en ambas facultades coincidieron en que los exámenes se diseñaron en base a contenidos que figuran en los programas del nivel polimodal.
Esto se repite año tras año. Pasan las reformas, y los aplazos permanecen. Sin embargo, si lo observamos en proyección histórica, si un país, por décadas, suma generaciones de malos estudiantes, formados con malos planes, por docentes mal capacitados que volverán a enseñar al año próximo, a qué resultado arribaremos?

sábado, febrero 03, 2007

MDA y SOA en una discusión

Hace tiempo que tengo pendiente mencionar una línea de discusión abierta en el grupo Service-Orientated-Architecture de Yahoo en Agosto del año pasado, sobre las relaciones y oposiciones entre la arquitectura orientada a servicios y el diseño orientado a objetos. Participan en el debate varios conocedores del problema (Gervas Douglas, Eric Newcomer, Stefan Tilkov), que permiten tener una visión detallada del alcance de la arquitectura, y cómo el diseño orientado a objetos encaja en SOA, disparada por un comentario del moderador del grupo, Gervas Douglas:
Model-driven and event-driven architectures are two technologies expected to have a big impact on developers over the next decade. And while many IT professionals are in the dark about much of Gartner's "Hype Cycle for Emerging Technologies," these architectures, along with AJAX apps, have very bright futures.
(...) Event-driven architecture (EDA) is a common style for distributed apps that are typically designed into modular, encapsulated, shareable components with event services. The services can be created through an app, an adapter or agent acting non-invasively. According to the report, those in the financial trading, energy trading, telecommunications and fraud detection industries have begun using EDA technology, along with the Department of Homeland Security. But Gartner says EDA is at least five years from mainstream maturity.
(...) As for Model-driven architecture (MDA), a technology from the Object Management Group, the process will turn the heads of developers simply for its increased flexibility through SOA. The technology distinguishes biz-level functionality from the technical complexity of its implementation, enabling the apps to be modeled by standards like Unified Modeling Language. This allows the models to operate free from potential platform limitations and instantiate them into specific runtime implementations using a target platform of choice. Fenn says
both MDAs and EDAs will find their niche with developers largely thanks to SOA and their bottom-line boosting perks.
...Y aquí comienza todo. Eric Newcomer desaconseja UML como elemento de diseño de servicios, y Tilkov y Steve Jones, le replican.

I just want to point out that MDA is not a good fit for SOA since it's based on UML, which is object-oriented, not service oriented.
UML has some value for whiteboarding and design, but in general OO analysis and design is overly complex for SO.
(...en otro párrafo...) UML is a great whiteboarding language but not more. Its contribution to the industry is a consolidation of what previously were multiple varying design notations. UML is not, and never was, an executable language, and attempts to make it so are inevitable failures.
I wouldn't be so quick to rule out MDA for SOA, we've had some great success with using MDA as an implementation approach for SOA. We model the services in our architecture approach and then massively speed up the delivery of them by using MDA. I don't think Gartner are suggesting that MDA is for the whole of an SOA, they talk about it being for a niche. If you view SOA as being architectural and MDA/EDA/SOAP/REST as being software implementation/architecture then MDA is a real contender in terms of productivity gains and quality control.
One word of warning though, MDA does require high quality people who can deal at the abstract level and still create a system that works operationally.
First of all, MDA is not necessarily based on UML, it can also be used with MOF. For example, Eclipse's EMF, which contains an implementation of EMOF, can be used to build domain specific modeling languages that are not object oriented. These can then become part of an automated tool chain that would clearly qualify as "MDA compliant" (although there is no such thing).
Secondly, it's perfectly possible to use UML to model services. You model classes, including attributes and associations, and specify them as types for the single parameter in service classes' method signatures. What's not service-oriented about this?
Thirdly, what's the (simpler) modeling alternative you suggest?
MDA, or in fact any form of model-driven software development, has many pros and cons. There's also a lot to be said against UML (e.g. its complexity and number of features which are largely unused in practice); its OO features are, IMO, definitely not a problem for applying it to SOA, though.
La respuesta de Newcomer pone sobre la mesa la validez en este contexto, del diseño orientado a objetos:
Certainly you can use UML to create services - as has been mentioned many times in this forum you can really use any technology, including procedure oriented technologies such as COBOL or PL/I.
I agree EMF is simpler and it is easier with EMF to create a modeling language for services, and we are currently currently working along those lines at the Eclipse STP Project. Microsoft has recently also released a Web service software factory, which also looks on first glance to be more service oriented.
But the point is more about what's better suited to service orientation, and because UML is object oriented it forces the same kind of mental translation as you'd have to do in going from procedure orientation to object orientation or service orientation. Why not work with tools more suited to the SO concept?
Objects are really overkill for software design. I believe it's time to basically turn back the clock and reject objects as the conceptual basis of modeling software. OO creates more problems than it solves. (Implementing services using objects, procedures, queues, etc. is ok but let's not design them that way.) It is much better to model, design, and develop using services natively. Most software applications are designed around implmenting functions rather than things.
Tilkov defiende su concepción:
I honestly don't see this point. In OO modeling with UML, an interface containing methods (or operations, if you prefer) is a first class concept. As is something that implements this interface. Sounds very service-oriented to me.
You can use a UML class model to describe a graph of data objects, or entities, or whatever you prefer to call them. There's not a 1:1 mapping to XML, but many (excluding me) agree this is not a SOA requirement.
(...) If you argued that it's better to develop Web services are better developed starting with explicit XML document design, I would probably agree - but describing SOA as an abstract, architectural concept, and then rejecting a general,
abstract modeling language such as UML, seems contradictory.
What methodology (and *available* tooling) would you recommend to
someone who wants to model services now?
Jerry Zhu amplía la defensa de OOD:
The way I look at the SW technology evolution is that three layers from bottom up OO objects, Component Orieation objects (EJBs and COM) and Service Orienation objects (such as Web services).
You need OO concepts to build EJBs or COM objects that support a critical concept called Automation which support programmability. Service technoloygy is build on the Automation by replacing scripts with XML messages. By having a service layer on top, we can build new applications quickly by recomposing services through creating new XML documents that in turn reassemble EJB objects.
Without Service layer, when building new applications, we have to program using APIs that means learning curve and development experience. With Service layer
we only compose XML documents and the computer will do the API wiring for us therefore significant resource saving. This is only possible when we have complete
business/technical coverage by all the OO and CO objects.
Some may have two layers: procedural languages and Services. It is a short cut. It may work for building a Scooter but not a Jetfighter.
Accordingly I would say Service technology is a newer technology than Component technology (EJB/COM). It is not that Service technology has been around long time.
The appearance of Service technology is years after the appearance of EJB and COM.
Anne Thomas Manes puntualiza un aspecto limitante de SOA:
When building service-oriented systems, you don't want to make everything a service. Only those bits that are reusable should be exposed as services. Unfortunately, most of the current tooling out there tends to simply convert object interfaces into service interfaces.
Ashley McNeile agrega otro enfoque:
I don't know whether the work I have been doing is of interest in this context, but it may be. So here is a short description and references to some material.
I have had a long standing interest in behaviour modelling, and languages that support direct execution of such models. Recently I have been working with colleagues on a concept called "Protocol Modelling" that is based around the idea of composing partial behavioural descriptions using the parallel composition ideas of CSP (Tony Hoare's process algebra).
This approach leads to a programming style in which partial behavioural descriptions (which can, in theory, be built using any notation you like) are combined in the manner of "mixins", giving an expressive power that is similar to multiple inheritance.
The challenge in developing the approach has been to allow these mixins to be re-used safely across the definition of multiple behavioural entities (be they objects or processes -- we don't really distinguish between the two). The approach works well, but does lead to a radically different view of what is meant by "inheritance" and the mechanisms for achieving it. However, I think we are on the right track, as attempts to include the inheritance of behaviour into conventional inheritance schemes leads to nasty complications.
The resultant paradigm for defining executable behaviour models is as different from conventional OO as OO is different from 3GL.
The following two papers will give you some idea of what we have been doing. Both are referenced from the "News and White Papers" page of the Metamaxim website (
1. The paper "State Machines as Mixins" (see "Metamaxim article in The Journal of Object Technology" under January 2004)
2. The paper "Protocol Modelling" (see "Formal Semantics" under November 2004).
The first of these is a more general motivation of the ideas -- please read this one first. The second is an attempt to put the ideas on a more formal footing.
It is too early to say whether this approach has useful application to SO (in particular, process modelling), but I suspect that it does.
Invito a leer y analizar la discusión, que es una fuente de ideas sobre los alcances de las arquitecturas orientadas a servicios, y también sobre las fuerzas y debilidades de la orientación a objetos.