lunes, 28 de noviembre de 2011

ASP.NET MVC Standard Architecture

 ASP.NET_MVC_Standard_Architecture.jpg


Goals
  • Define a standard architecture for application development so having the greatest number of problems and accelerating development.
  • Able to rely on expert knowledge and past experiences.
  • Create a flexible architecture that can evolve.
Technology
  • Jquery
  • Ajax
  • Html
  • Javascript
  • Json
  • .Net Framework 3.5
  • NHibernate-Fluent-AutoMapper/DataAccess Application Block
  • C#
  • XML
  • Visual Studio 2010
  • SQL Server/Oracle
  • ReportViewer

New Technologies – Mobile Applications. Carry your office on your smartphone.

The power of a PC in your pocket
By Gastón Casals
Team Lead, Avanade ADC

Hace unos años atrás los teléfonos Móviles eran para unos poco y solo servían para hablar, hoy se han vuelto muy populares y tiene muchas otras

funcionalidades. Según un extenso reporte de 424 páginas y 659 diapositivas de la reconocida firma Morgan Stanley, para finales del año 2009 los celulares inteligentes desplazarán a las laptops y netbooks en cantidad de unidades utilizadas a diario, y para el 2012 dejarán atrás a todo el mercado de PCs (es decir, incluso las laptops con netbooks y PCs de escritorio combinadas).

phone7.pngOtra manera de ver esto es que existirán más usuarios de navegadores web móviles; y aplicaciones móviles (como las del App Store) para el 2012 que navegadores y aplicaciones de escritorio. Android con su poco tiempo en el mercado hoy tiene más aplicaciones gratuitas que IPhone.

Por otro lado, de a poco los procesadores más potentes del mundo (así como todos los demás chips y circuitos necesarios para crear toda una PC) serán de un tamaño tal, que cabrán dentro de un celular como lo hacen hoy día en una PC, teniendo en nuestras manos la potencia que hoy tenemos en nuestras PCs.

Además no olviden que conforme el ancho de banda aumenta en Internet, que será incluso más factible que aplicación distribuidas funcionen desde un celular, ya que por ejemplo un programa de renderización 3D podría tomar ventaja de la nube de Internet para realizar su procesamiento en miles de servidores, haciendo el proceso de renderización incluso muchísimo más rápido que la más potente PC de hoy día.
También debemos tener en cuenta que Nokia y Microsoft se han unido para tratar de competir contra el iPhone y Android. Nokia es el principal fabricante de teléfonos móviles del mundo y con Microsoft han realizado una "gran alianza estratégica" por la cual el sistema operativo Windows será la "principal plataforma" de los teléfonos avanzados o 'smartphones' de Nokia.
Windows Phone 7 es un sistema operativo móvil desarrollado por Microsoft, como sucesor de la plataforma Windows Mobile. Está pensado para el mercado de consumo generalista en lugar del mercado empresarial. Microsoft ha decidido no hacer compatible Windows Phone 7 con Windows Mobile 6 por lo que las aplicaciones existentes no funcionaran en Windows Phone 7 haciendo necesario desarrollar nuevas aplicaciones. Con WP7 Microsoft ofrece una nueva interfaz de usuario, las principales basamento del nuevo Windows Mobile 7 será Silverlight y XNA. Microsoft planea una importante actualización para finales de 2011 que incluirá Internet Explorer 9 y algunas mejoras que según Microsoft lo harán competitivo con sistemas operativos de móviles actuales como iOS de Apple o Android de Google
Tanto en Avanade como en Accenture hay grupos especiales de desarrollo de aplicaciones móviles a lo largo del mundo como así también cuenta con un plan de capacitación. Por otro lado Avanade tiene una versión Mobile del famoso Framework ACA.NET (ACA Mobile v1.2)

sábado, 26 de noviembre de 2011

Como saber la calidad de un UnitTest:
Este documento tiene por finalidad explicar cómo medir la calidad de los Unit Test realizados utilizando NCover.
Plataforma: Microsoft Platform

Martin Jalaf

Gaston Casals


Ver artículo completo

miércoles, 9 de noviembre de 2011

Programming with the NET Framework (C#)

I was a faculty in this course for Accenture/Avanade in La Plata:Start date : Nov 7, 2011 9:00 AM ART Complete date : Nov 9, 2011 6:00 PM ART Hours : 20hs
Module 1: Overview of the Microsoft .NET Framework
Module 2: Introduction to a Managed Execution Environment
Module 3: Working with Components
Module 4: Deployment and Versioning
Module 5: Common Type System
Module 6: Working with Types
Module 7: Strings, Arrays, and Collections
Module 8: Delegates and Events
Module 9: Memory and Resource Management
Module 10: Data Streams and Files
Module 11: Internet Access
Module 12: Serialization
Module 13: Remoting and XML Web Services
Module 14 (Optional): Threading and Asynchronous Programming
Module 15 (Optional): Interoperating Between Managed and Unmanaged Code
Module 16 (Optional): Using Microsoft ADO.NET to Access Data
Module 17 (Optional): Attribute

New Letter: Report Viewer en ASP.NET MVC

 
ReportViewer en ASP.NET MVC:
Este documento tiene por finalidad explicar cómo implementar ReportViewer en una aplicación ASP.NET MCV dado que no es soportado por el patrón MVC.

Plataforma: Microsoft Platform

Ver artículo completo

jueves, 27 de octubre de 2011

Efficient management of time

 From my practice, experience, and after talking with many colleagues, I have come to the conclusion that projects have cycles that could be plotted perfectly by a sine wave.  The X-axis represents time and the Y-axis represents the effort or time actually worked on the project.  The 0 (zero)  on the Y-axis represents the time of a regular workday.  

projects and a lack of knowledge about the technology being used in them (indicated by the red zone I). In this stage, employees generally resort to using overtime to fill the gaps.
There are other times when work loads are low (indicated by the green zone II), when employees have free time that is often not used.

The trend is that on long-term projects the workload is stabilized because the employees gain experience both about the client´s industry and the technology being used.  Consequently, employees become more efficient and can satisfy their client in a shorter amount of time. However, sometimes extra-time is needed to achieve the required  level of quality.  This can be problematic when the client is not willing to wait.  This often results in the creation of unnecessary friction and / or the breaking of contracts.  This is also frustrating from the developer´s viewpoint because they spend a large amount of time and effort.  While they feel as if they have learned nothing or that their clients are always unhappy.

The strategy we propose is to take advantage of the times when employees have a low workload.  We plan to use this time for skilled training in project technologies.  This will result in employees being better prepared to handle the situations in times of high workloads.  Efficiency will be improved by acquiring knowledge when employees have smaller workloads.  This will improve the level of professionalism within the company and increase customer satisfaction.

One difficulty is that low-load moments in the project is that they are not predictable due to that can occur at any time, so it is important that everyone knows to take this time to proactively train and to become versed in the short-term gain in quality of life and recognition from their peers and superiors.



As shown in the chart, projects have stages where the workload is high.  This is due to the difficulties of the projects.   These difficulties are the result of a lack of knowledge about the specific

Microsoft Active Professional 2011

El equipo de Microsoft Argentina & Uruguay quiere reconocer tu constante esfuerzo por participar activamente de nuestros programas de entrenamiento y por estar en contacto con los avances de tecnologías Microsoft durante el último año.

Para avalar este reconocimiento, al pie de este e-mail encontrarás tu diploma y número de membresía para los próximos 12 meses.
Valoramos tu constante compromiso por mantenerte actualizado y formar parte del top 5% de una de las comunidades técnicas más importantes a nivel mundial.

Además, para seguir acompañándote y establecer un contacto más cercano día a día, contás con el Grupo exclusivo en LinkedIn para los MAP. Allí más de 2000 profesionales tienen acceso a: Interacción con colegas, Descuentos en capacitación, anticipo de noticias y eventos, reconocimiento y difusión de su actividad, y un contacto directo y más fluido con nosotros y la comunidad.

Automactic Server Health Check

Description:
BA Team has developed a very userful & convenient tool to automate the process of checking servers/instances status.
The advantage of using the application relies on its "Versatility" and its very easy way of way to use it. 
 
Scope:
This application  allows to configure and check:
FTP, SFTP, Telnet, Data Base, Servers, RDP Accesibility, Services, Memory, Disks, Processors, Mail Boxes, Biztalk Suspended Messages, and other Applications.

Customize:
You can easily add new functionalities and other checking tasks by using a BAT file.
 
BenefitsFilter:Time saving. Easy to maintain. Doesn't requiere an operating resource to do the job. All team members could have the server status checked and recived a notification about the same.

Team(s) Impacted:This applicaction is meant to help all assets to know their applications status.
Implementation Approach:
 Our "Automatic Server Health Check" application has a similar functionality but it also checks automatically the status of all Assets and displaying the same in different color according to the results. This application has a distributed architecture.
On the right side I have attached the Control Board design followed by a Brief description of the same.
The Application has three components:
  •  -"Control Board": this will run on a SharePoint platform, simply because SharePoint allows you to create and warehouse application lists with the Web Service address which collects all the status.The Control Board gathers information from all assets and displays it on the screen as shows of the attached picture.
  •  -"Web Service":  allows you to check the testing functionality and to obtain the requested status/es.
  •  -"Core": these are DLL files, which hold the testing inner logic and its configuration.The core can be customized according to each testing needs.
These two last Components need to be installed on each Assets servers, so its configuration can be modified or changed by the different teams according to their usage by using an existing service account without risking the service security.
Each server has its own testing process, which can be manually executed.
The control board collects the information from all assets and displays it on the screen.
Currently we are testing other functionalities to expand its scope.

Other Details:
This application can be configured to operate as:
  -Web Service
  -Command Line, generating a report in the file system
  -Batch process, generating a report in the file system
  -Batch process, sending report by mail
  -Web Part in Sharepoint.
All modes can be executed either manually or automatically.
Last but not least, the aplication has the abbility to generate different report types:
  -HTML report
  -TXT Report
  -XML Report

Manejo eficiente de los tiempos

De mi experiencia y la práctica, y después de hablar con muchos colegas eh llegado a la conclusión que los proyecto tienen ciclos que podrían ser graficados perfectamente por una onda senoidal, donde el eje de las x representa el tiempo y el eje de las y representa el esfuerzo u hora efectivas trabajada en el proyecto, en donde el 0 (cero) de las y representaría una jornada laboral normal, por ejemplo 8hs diarias.

Como se ve en la grafica los proyecto tienen etapas donde la carga de trabajo es alta, debido en parte a las dificultades del proyecto y la otra por falta de conocimientos técnicos (zona I o roja). En estas etapas en general se recurren al uso de horas extras para suplir la falencias.
También existen otros momentos donde las cargas trabajo son bajas (zona II o verde), teniendo tiempo óseo que muchas veces no es aprovechado eficientemente tanto por el proyecto como personalmente (se puede ver a la gente en Facebook o youtube).


La tendencia es que a largo plazo los proyecto tiende a estabilizarse debido a que de a poco se va ganando experiencia que permite logran disminuir los tiempos y  lograr el grado de satisfacción exigido por el cliente. Pero a veces este tiempo necesario para conseguir la calidad buscada se extiende demasiado y el cliente no está dispuesto a esperar tanto tiempo termina generando roces innecesarios y hasta la ruptura de contratos. Lo anterior mente analizado es desde el punto de vista del cliente, pero desde el punto de vista de los desarrolladores, también suele ser frustrante debido a que se invierte mucho tiempo/esfuerzo y se siente que no se ha aprendido nada o que el cliente siempre está desconforme.
 

La estrategia que vengo a proponer en principio aprovechar los tiempos de baja carga de trabajo para capacitarse y entrenarse en las tecnologías del proyecto, esto permitirá tener un mejor manejo de las situaciones de altas cargas de trabajos, porque si un pico de trabajo está compuesto 50% por desconocimiento y 50% de trabajo, y nosotros hemos adquirido los suficientes conocimientos en las etapas de bajas cargas de trabajo nuestros picos de trabajo decrecerán más rápidamente demostrando nuestro profesionalismo y aumentando la satisfacción de nuestros clientes.

Una dificultad que tiene esto momentos de baja carga en el proyecto es que son muy poco predecibles debidos a que puede ocurrir en cualquier momento, por eso es impórtate que cada uno sepa aprovechar esto tiempos para poder capacitarse y poder convertirse en experto en el corto plazo ganando en calidad de vida y el reconocimiento de sus pares y superiores.

Uso de maquinas virtuales como buena practica

Uso de maquinas virtuales como buena practica
La idea de este documento es recomendar el uso de maquinas virtuales como una buena practica aumentando de esta forma la productividad del equipo, disminuyendo el tiempo de puesta en productivo de los nuevos recursos y facilitando las transferencias con otros equipos.

Sebastian Maciel

Gastón Casals 

Ver Artículo completo

Autores: Sebastian Maciel y Gaston Casals

Custom Application Design School

I was a faculty in this course:

Name : Custom Application Design School v4- Solutions
Start date : Oct 1, 2009 9:00 AM ART
Complete date : Oct 22, 2009 6:00 PM ART
Hours : 32

The Custom Application Design School v4 – Solutions is a four-day school focused on key concepts and principles of Application Design within the context of the Accenture Delivery Methods Custom Development Application Design processes. During the course, the participants will:
1. Learn to design a simple online store using application design best practices and Accenture Delivery Methods.
2. Practice making design trade-off decisions with respect to scalability, maintainability, performance, security and other factors.
3. Develop fundamental design knowledge and skill in Application Architecture: Presentation, Business Logic, and Data Access Layers, User Interface Design: Wireframes, Page Specifications, Information Architecture, Class Design and Interactions, and Component Design and Interactions.

 

Capacitación Extra

El objetivo de este documento es acercarles a todos algunos link interesantes en lo que respecta a la capacitación extra curricular de Accenture en tecnologías Microsoft. Esta capacitaciones no reemplazan la curricula de Accenture, simplemente la complementa.

A continuación presentaremos algunos sitios gratuitos ofrecidos por Microsoft donde podemos realizar cursos On-Line sobre numerosas tecnologías, para luego evaluar y certificar los conocimientos adquiridos.
Entre los sitios y programas existentes destacamos:
·      Desarrollador 5 Estrellas (DCE)·         Microsoft Virtual Academia  (MVA)·         Profesional 5 Estrellas·         MSDN Virtual Labs

Ver documento

Autor: Guido Sánchez y Gastón Casals

Technical White Papers - Netcentric - Entrega Septiembre 09 - Patrón MVPC y WCSF

Patrón MVPC y WCSF

La idea de este documento es repasar un poco los patrones de diseño para llegar al patrón utilizado por nosotros el MVPC (Model-View-Presenter-Controller) ya que es una conjunción varios patrones (En ningún momento se pretende que esto se a una guía de estos patrones). Finalmente mostraremos como implementamos el MVPC por medio de Web Client Software Factory (WCSF) en nuestro proyecto.

Ver artículo completo: Patron MVPC y WCSF-v6
Autores: Gastón Casals y Emanuel del Río

Technical White Papers–Netcentric–Entrega Julio 09-Herramientas CAT

El siguiente artículo presenta un grupo de herramientas que tienen como objetivo principal medir, analizar y mejorar la calidad del Software desde diferentes puntos de vista. La incorporación de estas herramientas a nuestro proyecto no sólo nos permitió validar la calidad de nuestros desarrollos, sino también respaldarnos en ellas para evaluar la complejidad de las aplicaciones que nos fueron transferidas y realizar estimaciones de desarrollos certeras.

Esperamos que este artículo les sea de utilidad para responder competitivamente a la creciente demanda de calidad que nuestros clientes exigen.

Ver nota completa.
Autor: Guido Sánchez y Gastón Casals

Custom Application Design School

I was a faculty in this course:
 
Name : Custom Application Design School
Start date : Mon, Apr 13, 2009 9:00 AM ART
Complete date : Wed, May 06, 2009 1:07 PM ART
Hours : 32

The Custom Application Design School v4 – Solutions is a four-day school focused on key concepts and principles of Application Design within the context of the Accenture Delivery Methods Custom Development Application Design processes. During the course, the participants will:
1. Learn to design a simple online store using application design best practices and Accenture Delivery Methods.
2. Practice making design trade-off decisions with respect to scalability, maintainability, performance, security and other factors.
3. Develop fundamental design knowledge and skill in Application Architecture: Presentation, Business Logic, and Data Access Layers, User Interface Design: Wireframes, Page Specifications, Information Architecture, Class Design and Interactions, and Component Design and Interactions.

Day 1

Day 2

Day 3

Day 4

Module 1:
Introduction to School

Module 4 (cont.):
Class & Component Definition



Module 5:
Class Design

Module 8:
User Interface Design

Module 2:
Introduction to Case Study



Module 3:
Elements of Application Design


Module 6:
Component Design

Module 9:
Integration Solution


Module 7:
Data Access

Module 10:
Confirm
Module 4:
Class & Component Definition

Module 11:
Transition to Build
End of Day Debrief

End of Day Debrief

End of Day Debrief

Module 12:
School Closing

Toth, Matias

Casals, Gastón

Soliverez, Alvaro

Marquez, María L.

Entrega de Premios-Competencia ACM

El día miércoles 11 de Marzo 2009 participe del evento “Visita de los concursantes del ACM Internacional Collegiate Programming Contest”.
El mismo contó con la presencia del Presidente de la compañía, Roberto Álvarez Roldan, Gastón Podestá, Fernando González, y fue liderado por Delia Saubidet quienes dieron la bienvenida a los chicos.
Luego los participantes fueron separados en grupos, de los cuales me toco liderar uno, para participar de un charla de diferentes tecnologías y contarles la metodología de trabajo de Accenture.
También contó con la participo de Prensa Especializada.
  

ASDA – Charla y entrega de Certificados

A través de Accenture Solutions Delivery Academy, la gente de Solutions con nivel de carrera desde ASE/Programador hasta SSE/Analista Programador desarrolla sólidos conocimientos técnicos, profesionales y de delivery, recibiendo certificaciones avaladas tanto por Accenture como por el programa de Educación Profesional del Massachusetts Institute of Technology. 

RFID and the Internet of Things – Challenges in Building Scalable Systems

En la charla realizada en Buenos Aires viernes 12 de diciembre 2008 a las 9:00 hs, presentada por el Dr. John Williams y el Dr. Abel Sanchez, Profesores del Massachussets Institute of Technology.
EL tema tocado fue: la idea del Internet de cosas es conectar objetos físicos con Internet. La idea de usar etiquetas de RFID para alcanzar esto primero fue desarrollada en el laboratorio del MIT AutoID y en la cuenta pasada había más de 4 mil millones etiquetas de RFID vendidas. IOT combina tecnologías tales como RFID, localización en tiempo real, tarjetas inteligentes y redes del sensor. La tecnología se está utilizando en una amplia gama de usos - de parar la falsificación de productos (de los vinos y de los cigarrillos a las bolsitas de té y a Viagra), a las tarjetas inteligentes para comprar boletos y seguir a pacientes en hospitales. Esta charla se centra en los desafíos de hacer el Internet de cosas una realidad.

Luego se llevo a cabo la entrega de los diplomas a las personas certificadas: