Mostrando las entradas con la etiqueta VisualStudio. Mostrar todas las entradas
Mostrando las entradas con la etiqueta VisualStudio. Mostrar todas las entradas

martes, diciembre 30, 2014

Lanzamiento del nuevo release Plex 7.2

Ayer CA comunicó la disponibilidad del release 7.2 de Plex. Mucho se ha conversado sobre qué incluiría, pero nada es adelantado en el anuncio. Lo que sí es adelantado es algo ya conocido, pero igualmente muy prometedor: la adopción de una política de releases incrementales rápidos, y con participación directa de todos aquellos clientes que deseen sumarse al plan:
The CA Incremental Release Program is a customer-interactive delivery model where new product features are developed and released using the Agile development methodology. CA’s development teams work closely with customers to create product features for rapid implementation. Rather than spending years building a software release full of features, we work with customers and release features incrementally, as they are completed.
El lanzamiento de la versión 7.2 es una confirmación de esta política, acortando todavía más los tiempos de entrega ya vistos entre la versión 7.0 y 7.1.
De la documentación inicial se desprende que el grueso de los cambios se concentran en la variante .NET y en WCF Service Connectors, el agregado de soporte para Oracle 12, y la esperada actualización del soporte de Visual Studio...2010. Se afirma que es posible el soporte de versiones superiores, pero no está testeado (VS 2013). En cuanto a Java, continúa soportado hasta la versión 7 (ya existente en 7.1) y en cuanto a OS400, el soporte alcanza a IBM i 7.1.
Evidentemente, hace falta la participación de la base de clientes, si queremos ver otras nuevas características disponibles.
Plex 7.2 en la wiki oficial (CA).
Lista de fixes en la wiki oficial de Plex.
Matriz de compatibilidad de Plex 7.2 (requiere usuario).

lunes, diciembre 08, 2014

Plex en la transición de Visual Studio...(y otras transiciones)

Mientras Plex 7.2 continúa en beta, y nuevos cambios de arquitectura aparecen en el horizonte, me interesaría retomar una conversación iniciada en mayo: qué hacer con la variante c++ (WinC) de Plex. Como se mencionara entonces, existe una iniciativa expuesta por Simon Cockayne, product manager,  por actualizar el soporte de Visual Studio de 2005 (qué horror!) a Visual Studio 2012 "o el más reciente que exista". Algo más que necesario...Pero a partir de este punto, existen diferentes líneas de avance. Dos o tres ideas sobre esto:

Algunas respuestas sugieren pasar entonces directamente a una variante .NET, esto sería, dado que la línea principal de trabajo en CA Plex parece apoyarse en .NET, evolucionemos a ella. Pero esto presenta tres escollos, a primera vista: Uno, económico, ya que no se trata simplemente de reconfigurar el modelo para adoptar una nueva variante (cambiar el valor de un combo box en la ventana de configuración), sino de pagar nuevas licencias, una por cada asiento que vaya a trabajar generando en la nueva configuración. Aunque existan ofertas o paquetes de negociación, es un costo que hay que pesar.
Un segundo escollo de importancia es la migración: no se trata tan solo de migrar paneles, sino de inventariar el conjunto de APIs de bajo nivel que se hayan estado utilizando basadas en c++/win32, y probablemente reescribirlas. Se trata de tener en cuenta la diferencia de modelo de arquitectura (managed/unmanaged code; framework de .NET). Todos los interesados, (y aquí se debería incluír también al soporte de CA) deben pesar el impacto de migrar no solo el código evidente, sino también cualquier dependencia de ActiveX, OLE, COM y VBScript. Todo ha sido afectado por el modelo .NET.
Y el tercer escollo a tener en cuenta es .NET en sí mismo: este parece ser un buen momento de la arquitectura, considerando los planes para abrirla a la comunidad en general. Pero atendiendo a los adelantos informados, no está claro que la apertura sea suficiente ni exenta de nuevas contradicciones. Este es un tema que requiere ser tratado por separado. Pero además, tampoco está claro qué papel tendrá finalmente .NET en los planes futuros de Microsoft, considerando su evolución a la nube, y los cambios de arquitectura desarrollados a partir de Windows RT.

Entretanto, no sólo evoluciona la arquitectura de Windows en general, sino también Visual Studio y el propio c++, tanto el estándar en sí mismo como la interpretación de Microsoft: hoy c++ 11, con planes para c++ 17. ¿Cómo de integrados están los planes en curso? Considerando la experiencia pasada, me pregunto, con pocas esperanzas de que se pueda tomar un curso preventivo, si no hubiera sido estratégicamente preferible, largo tiempo atrás, mantener un núcleo del generador mas apoyado en el estándar y algo distanciado de los planes de desarrollo de Microsoft. La variante de Plex es WinC, e implica un compromiso con Windows ya en su nombre: así WinC se ha desarrollado apoyado en las MFC, en ActiveX y VBScripts, y en mucha menor medida, en OLE y COM. Ahora cualquier plan de evolución o migración debe partir de este hecho. Un escenario algo más mediado hubiera permitido ver el código c++ con un mayor grado de portabilidad. En fin, la encrucijada por .NET o no, es una propia de Microsoft, en un universo cada vez más abierto, y cuando el propio Visual Studio se ve obligado a contemplar extensiones para otros sistemas operativos. ¿Podría ser conveniente persistir en Visual Studio, y abordar a partir de allí la entrada a otros medios? en fin, la apertura de .NET se propone entrar en Linux y OS X . Apuesta dudosa...Pero esto requiere una nota aparte.

sábado, mayo 10, 2014

Actualizando Visual Studio en Plex

Esto es de particular interés para los usuarios de Plex: hay abierta una votación  para conocer el interés de la comunidad de usuarios por llevar la versión de Visual Studio a la última disponible. En la comunidad de usuarios de CA, en la sección de ideas, o informalmente en el foro de Plex. Muy probablemente  más bien funcionará como una encuesta y un sondeo de opinión. Considerando el abismo abierto entre la versión soportada actual (2005) y la versión oficial (entre 2012 y 2013), es imposible anunciar una actualización sin consultar a los usuarios. A esta altura, a los pro evidentes, hay que sumar el costo del retrabajo necesario para subir la versión. ¿Cuánto es este retrabajo? Es de interés de cualquier empresa que haya trabajado en una arquitectura con clientes WinC (o funciones servidoras WinC) participar en la discusión, y aportar su visión del impacto esperado.
(Para acceder a los enlaces debe tener un usuario registrado en las Comunidades. Si no lo tiene, regístrese)

sábado, abril 26, 2014

A propósito de una API de c++

Hace algunos días me pidieron que estudiara alguna manera de validar que una fotografía cumplía con ciertos requisitos de densidad y medida en pixeles: un requerimiento simple, que exige acceder a metadatos de la imagen. Desde el punto de vista de nuestros modelos de Plex, esto significa usar un API, ya que no existen dentro del conjunto de funciones propias del producto, ni tampoco en ninguno de sus patrones de tecnología, alguna función preelaborada que permita obtener esa información.
Un API es un trozo de código específico de una plataforma que funciona encapsulado: en su interior resuelve una necesidad específica, en este caso, tratar metadatos de una imagen, intercambiando información con el modelo a través de parámetros. Así, el modelo se mantiene a nivel abstracto, y se relaciona con código específico de plataforma a través de un marco de inicialización que resuelve la relación entre el nivel del modelo y el del código encapsulado. El marco de las APIs que Plex maneja es relativo a plataformas específicas: c++ para clientes Windows de código no administrado (en términos del marco .NET) u ODBC, un motor de VBscript incrustado para VBscript, c# para  .NET, y java o RPG para las variantes respectivas. Ya hace tiempo existe en la comunidad de Plex el estilo de definir un API de tal forma que responda a múltiples plataformas, por medio de metaoperaciones, que permitan intercambiar los parámetros entre el modelo y el código encapsulado, que será uno distinto por variante, y se resolverá en tiempo de compìlación según metaoperaciones que interroguen al modelo acerca de qué lenguaje se ha configurado. De esta forma, un sólo objeto API permite representar en un modelo su solución para tantas variantes como sea necesario y posible.
¿Estas son las únicas variantes posibles? Aunque hasta donde conozco, nadie lo ha intentado, existe una posibilidad de "sobrecargar" Plex para agregar APIs de otra plataforma o lenguaje: Plex sigue el modelo .COM, y permite importar un componente, y utilizar sus métodos y variables públicas como parte del modelo. Es entonces posible añadir transformaciones que habiliten otra variante, al menos al nivel puntual de una API. Utilizando elementos similares por otra vía, Websydian primero, y Webclient después, permitieron agregar capas de arquitectura web completas a un modelo de Plex.

Pero ahora, volviendo al pedido de lectura de metadatos de imágenes...Primero, restringimos el alcance del API a una aplicada a un modelo WinC, es decir, uno de plataforma Windows de modelo Win32, al menos para su primera versión: el horizonte de aplicación abarca por lo menos los próximos tres años. No está claro si en el futuro la aplicación continuará sobre Windows o Java, y en el primer caso, si sobre Win32 o WinRT. Digamos de todas formas que WinRT todavía no está soportado sobre Plex, lo que estrechaba el marco de posibilidades. Ahora bien, ¿qué alternativas hay disponibles para trabajar con imagenes escritas en c++ o c? En una primera revisión, encontré varias alternativas; Adobe XMP Toolkit, ExifTool (en modo de línea de comandos), Exiv2, y especialmente el Windows Imaging Component, o el objeto PropertyItem (en System.Drawing.Imaging Namespace) , ambos de Microsoft. Con algo de entusiasmo, comencé pesando las posibilidades de estas dos alternativas de Microsoft. Trabajando con Visual Studio y sobre una plataforma Windows ¿qué alternativa más "natural" puede considerarse que la del propietario de la plataforma? Sin embargo, luego de revisar la documentación (algo escasa en general), encuentré su uso demasiado exigente para el caso que debíamos atender: En primer lugar, la clase PropertyItem parecía más simple y directa de usar (a pesar de que tampoco estamos hablando de pocas líneas de código), pero aparecieron un par de observaciones (1, 2) que es necesario tener en cuenta, sin hablar de las posibles dependencias de versión del framework .NET. En el caso de WIC, examinando la documentación claramente marchabamos a matar moscas a cañonazos. Tanto por la complejidad relativa al objetivo a resolver, como también por la ambigua situación de evolución y deriva de .NET, Win32 y WinRT,decidí volver a evaluar otras opciones de código abierto, y finalmente adopté Exiv2, pero aún de una manera más simple: no recurriendo a la librería c++, sino usando el comando de consola exiv2, que permite acceder a la mayoría de los estándares de metadata...sin necesidad de asegurarse de que estén instalados los codecs adecuados...
En fin, resuelta la estrategia, en un par de días cerramos el problema con un código simple, reducido, y fácilmente ampliable a la obtención de otros atributos. En una situación de transición de la plataforma de Windows como la actual, es preferible quedar libre de dependencias y compromisos, si es posible. En tanto, ActiveX, VBA, VB for Office, c++ y en alguna medida .NET y .COM, atraviesan la borrosa frontera entre Win32, WinRT y otras alternativas que puedan sumarse a "un solo Windows"...

martes, agosto 25, 2009

Proyecto Oslo: ¿en el camino de Vista?

Repentinamente, Douglas Purdy, el 17 de este mes, da un nuevo giro al alcance de Oslo, incluyendo una dimensión de manipulación de datos:

During the 10 months since the last PDC, it has become increasingly clear to us that the modeling platform is aligned in a deep and fundamental way with the data programmability stack (ADO.NET, EF/EDM, Astoria, etc.).

Why?

The fundamental focal point of “Oslo” has always been the notion of (meta)data stored within SQL Server or another database. If you look at the Repository, it has always been “just a SQL Server database” containing application metadata. Likewise, “M” and “Quadrant” having their roots in making this particular database easier to use.

With this in mind, we made a decision to merge the Data Programmability team (EDM, EF, Astoria, XML, ADO.NET, and tools/designers) and the “Oslo” team (“Quadrant”, Repository, “M”) together.

What does this mean for you (.NET developers)? You are going hear more about how “M”/EF/EDM align. How our VS tools relate to “Quadrant”. How this notion of “model-driven software” evolves with the existing .NET FX investments.

Darryl K Taft comenta al día siguiente en EWeek:
Purdy said more on this strategy will be revealed at the upcoming PDC in November. He said developers will learn more about how M, EF and EDM align, how Microsoft's Visual Studio tools relate to Quadrant, and how the notion of model-driven software evolves with Microsoft's .NET Framework investments.This should help to clear up some of the confusion Microsoft caused by shifting the focus of Oslo while keeping the name and the thrust of the project. "Oslo" software modeling technology appears to be something of a chameleon in that it continues to evolve and take on different appearances based on its surroundings. Now Oslo has moved in a new direction, or at least the Oslo team is adapting and merging with Microsoft's Data Programmability team.

[...]
Purdy acknowledged the confusion in his post, saying: "The only thing that I feel bad about is that we kept the 'Oslo' name around so long (you will see that change at the next PDC), which has continued to be a confusing point for customers ('I thought Oslo was your new SOA platform.')"

In trying to explain what Oslo is all about, that question has been a recurring theme. So it's good to see Microsoft address this issue. However, Microsoft officials said they had no comment about the future of Oslo beyond what was in Purdy's post.

Francamente, estos trascendidos, idas y vueltas, recuerdan a la larga y confusa historia de Windows Vista, incluyendo el hecho de vender lo que no está, y quizá no se esté seguro de qué es o para qué se utilizará. Realmente parecen algo prematuras las calurosas palabras de bienvenida a las sucesivas presentaciones. Sería bueno tener algo más en firme cuando pareciera que se hablara de un producto que evoluciona a medida que se van descubriendo relaciones.

Quién es Douglas Purdy: De la presentación "A Lap Around Oslo", conducida por Douglas y Vijaye Raji
"Douglas Purdy is a product unit manager at Microsoft working on next-generation languages and tools to broaden the franchise of people building applications. His vision is to “make everyone a programmer” (even if they don’t know it). Previously, Douglas was the group program manager for the Windows Communication Foundation (WCF/Indigo) and Windows Workflow Foundation (WF/WinOE) teams. Douglas has been with Microsoft, on and off, since 1998 where he has worked in consulting, evangelism and engineering."
Leído primero en ZDNet, comentado por Joe McKendrick.

domingo, noviembre 02, 2008

Avalancha de información sobre Oslo

Tras la Microsoft Professional Developers Conference, se han difundido por diversos medios una gran cantidad de notas sobre el proyecto Oslo, y sus partes (M, Quadrant). Por ahora, una simple enumeración de los más interesantes. Luego trataremos de entrar en detalles.
El artículo de David Chapell, "Creating Modern Applications: Workflows, Services, and Models", que es el más completo que he visto por ahora.
El podcast de Paul Vick,"Oslo" -- Microsoft's Modeling Platform, a través de Informit.
Dos notas de Paul Gielens, 1 y 2.
La publicación de la especificación de M.
Hay más, realmente bastante. Se abrió la campaña.

martes, septiembre 16, 2008

El proyecto Oslo

Con adelantos apenas delineados, se incrementan las noticias sobre el proyecto Oslo. Si el proyecto desarrollara el ambiente de modelado de Microsoft, y si pudiera ensamblar los distintos esfuerzos anteriores, quizá el conjunto pudiera tomar un rumbo más consistente. Durante 2008 tendremos una idea más clara del tema.
Ron Jacobs dice, anunciando su presentación junto a David Chappell:
Microsoft's "Oslo" project aims at creating a unified platform for model-based, service-oriented applications. This new approach will affect the next versions of several products and technologies, including the Microsoft .NET Framework, Microsoft Visual Studio, Microsoft BizTalk Server, Microsoft System Center, and more. Although many details of "Oslo" won't be public until later in 2008, this session provides an overview of what Microsoft has revealed so far. Along with a description of the problems it addresses, the session includes a look at several new "Oslo" technologies, including a general-purpose modeling language, role-specific modeling tools, a shared model repository, and a distributed service bus.

Uno de los nuevos elementos de Oslo, es el impulso al lenguaje D. Darryl Taft dice:
“The language was designed with an RDBMS [relational DBMS] as very, very, very much top-of-mind, so that we have a very clean mapping,” Lovering said. “But the language is not hard-wired to an RDBMS or relational model. And the language is actually built against an abstract data model. We represent the program itself also in that same abstract data model, which is a very LISP-ish idea—you know, where the whole program itself is the same data structure on which it operates.”
En su sitio dedicado a SOA, se resume así las características de Oslo:

”Oslo” is the codename for Microsoft’s forthcoming modeling platform. Modeling is used across a wide range of domains and allows more people to participate in application design and allows developers to write applications at a much higher level of abstraction. “Oslo” consists of:

  • A tool that helps people define and interact with models in a rich and visual manner
  • A language that helps people create and use textual domain-specific languages and data models
  • A relational repository that makes models available to both tools and platform components

Tres elementos se destacan, en los adelantos que funcionarios y allegados a Microsoft van develando: la mencionada utilización de un nuevo lenguaje (D), el énfasis en el modelado y la abstracción, y la idea de un repositorio que ordene los recursos participantes. No es algo nuevo (la idea del repositorio como sustento de las herramientas de modelado ya había generado iniciativas de Microsoft y otros en los 90), pero el conjunto es aplicado sobre recursos que han madurado y sobre los que se ha discutido mucho ya.
En el sitio de Microsoft sobre SOA, algunas ideas expuestas por Bob Muglia, arrojan luz sobre el futuro que Oslo traerá:

“Oslo” and a Mainstream Approach to Modeling

Modeling has often been heralded as a means to break down technology and role silos in application development to assist IT departments in delivering more effective business strategies. However, while the promise of modeling has existed for decades, it has failed to have a mainstream impact on the way organizations develop and manage their core applications. Microsoft believes that models must evolve to be more than static diagrams that define a software system; they are a core part of daily business discussions, from organizational charts to cash flow diagrams. Implementing models as part of the design, deployment and management process would give organizations a deeper way to define and communicate across all participants and aspects involved in the application lifecycle.

In order to make model-driven development a reality, Microsoft is focused on providing a model-driven platform and visual modeling tools that make it easy for all “mainstream” users, including information workers, developers, database architects, software architects business analysts and IT Professionals, to collaborate throughout the application development lifecycle. By putting model-driven innovation directly into the .NET platform, organizations will gain visibility and control over applications from end-to-end, ensuring they are building systems based on the right requirements, simplifying iterative development and re-use, and enabling them to resolve potential issues at a high level before they start committing resources.

Modeling is a core focus of Microsoft’s Dynamic IT strategy, the company’s long-term approach to provide customers with technology, services and best practices to enable IT and development organizations to be more strategic to the business. “Oslo” is a core piece of delivering on this strategy.

“The benefits of modeling have always been clear, but traditionally only large enterprises have been able to take advantage of it and on a limited scale. We are making great strides in extending these benefits to a broader audience by focusing on three areas. First, we are deeply integrating modeling into our core .NET platform; second, on top of the platform, we then build a very rich set of perspectives that help specific personas in the lifecycle get involved; and finally, we are collaborating with partners and organizations like OMG to ensure we are offering customers the level of choice and flexibility they need.”

Bob Muglia, Senior Vice President, Microsoft Server & Tools Business

Esperaremos más noticias...

domingo, julio 13, 2008

UML, DSL, y Microsoft, parte 2

En refuerzo de lo dicho antes, encuentro a Tad Anderson, escribiendo en .NET Developer´s Journal, que en septiembre de 2007 habla de las decisiones de Microsoft sobre UML, y su respaldo a DSL, afirmando que en dos años, no tuvo oportunidad ni medios de usar el set incluído en VSTS:
Over the past 2 years I have had the VSTS Architecture version installed and I have not used the DSL tools once on a project
Las razones muestran un camino que hoy parece estar remontándose:

A few years ago Microsoft decided to cut off its nose to spite its face.The war on UML started with the DSL movement.Although Microsoft still claimed to see UML as an essential tool, they stopped trying to compete with the rest of the market and tried to lead us down a new path that did not include UML.
With Rosario around the corner (a very big corner) the emphases is on Application Life-cycle Management (ALM).I think that is great. But the claim that their DSL tools will support the essential design documents is once again WRONG!!!! The DSL tools currently supported are the ones they are going to depend on again in the future.
Over the past 2 years I have had the VSTS Architecture version installed and I have not used the DSL tools once on a project. I have looked at them several times, but I always found SPARX Enterprise Architect (EA) easier to use to make meaningful artifacts. Microsoft did try to save a little face by saying they do support and suggest UML for domain modeling.
But there suggestion was to model in Visio (UML 1.2 or 1.4??), forward engineer the model to code and then open it up in their DSL class modeler. That is just plain dumb when tools like Enterprise Architect exist. Yes, Microsoft is partnering with SPARX now, but the ALM movement just confuses things because it introduces tools that step all over SPARX EA tools that support ALM, except for UML. Go figure.?.?.
Y concluye, tras relacionar el modelado con el marco en que lo usaría:
Microsoft’s ALM push will probably be good for project managers, but Microsoft still does not get that they are continuing to ignore the architect.
No está de más leer su nota completa. Es más contundente que lo que aquí extracto.