Meses después de que mi empresa ha actualizado desde 4.6 c a ECC6.0, nuestro equipo de programadores son todavía de codificación en el tradicional 4.7 c camino. Estoy ansioso por probar la nueva OO enfoque de ABAP, pero muy a mi pesar la mayoría de la gente aquí solo se centran en conseguir que las cosas se hagan en el periodo más corto de tiempo dado.

Mi pregunta sería:

1) ¿Cuándo la gente en su organización comenzó realmente la codificación en ABAP OO?

2) ¿hay alguna razón por la que la gente quiere de código en una forma OO? por ejemplo Llamar a Método es más rápido que REALIZAR una declaración?

  • Puedo saber qué está ABAP, ECC6.0 y 4.6 c?
InformationsquelleAutor SteD | 2009-03-11

7 Comentarios

  1. 8

    1) ¿Cuándo la gente en su organización comenzó realmente la codificación en ABAP OO?

    La mayoría de los desarrolladores en mi organización han aprendido el clásico ABAP antes de la introducción de ABAP OO. Ellos son en su mayoría desarrolladores senior que abstenerse de aprendizaje adecuado de la programación orientada a objetos y de las INUNDACIONES de principios. Todavía están utilizando la mayoría de procedimiento ABAP características.
    Además, trabajamos en un entorno heredado. los fundamentos de nuestra base de datos fue construida durante la época de 4.6 C. es difícil llevar la correcta OO el Diseño de los sistemas de legado.

    Por otro lado, el procedimiento de las funciones que siguen el trabajo. Algunas características como la base de datos transaccional actualizaciones se utilizan sobre todo de la parte del procedimiento de ABAP. Usted puede saber Actualización de Módulos de funciones o Subrutinas exclusivamente para las transacciones de base de datos (a los que usted puede llamar a IN UPDATE TASK). Ellos son una parte integral de la ABAP componentes básicos. Uno no puede negar que el procedimiento ABAP parte sigue siendo necesaria.

    2) ¿hay alguna razón por la que la gente quiere de código en una forma OO? por ejemplo Llamar a Método es más rápido que REALIZAR una declaración?

    ¿Cómo se compara el tiempo de ejecución de la LLAMADA al MÉTODO vs PERFOM? ¿Probar el programa RSHOWTIM /O se han hecho algunas pruebas de rendimiento del ABAP workbench? Una sola subrutina llamada no difieren significativamente de un método de invocación. Sin embargo, si se llama en masa método de prueba invocaciones tienen un rendimiento ligeramente mejor (en la magnitud de microsegundos).

    Sobre todo, recomiendo la INUNDACIÓN y la programación orientada a objetos con los mismos argumentos que los usuarios que han publicado antes. Pero usted tiene que mantener en mente que los mayores desarrolladores familiarizados con el antiguo ABAP mundo tiene que entender OO principios antes de empezar a escribir ABAP OO.
    De lo contrario, su organización no lucrativa por ABAP OO, al contrario. Hay un montón de experiencia de los programadores ABAP OO sin conocimiento que fueron empujados a escribir clases. Lo que hacen en realidad es la imitación de principios de procedimiento, con las clases (por ejemplo, una clase con métodos estáticos exclusivamente – como un sustituto para módulos de función/subrutinas).

    La mejor de las suertes para su organización y para su desafío con ABAP OO! No es el idioma, es más acerca de cómo obtener OO principios en la mente de su personal.

    • «¿Cómo puede usted comparar el tiempo de ejecución de la LLAMADA al MÉTODO vs PERFOM?’ … Leí su pregunta ya que ofrece un ejemplo de lo que una justificación que podría parecer — no se trata de una reclamación.
  2. 2

    Yo no sé acerca de ABAP, pero he visto ocurrir lo mismo con VB desarrolladores de pasar a la .Net la plataforma.

    Programadores se sienten cómodos en su antiguo modo de programación, y de la manera antigua, todavía funciona. El nuevo modo de programación tiene un montón de la inversión, no sólo de la empresa sino también de las personas que tienen que desplazarse fuera de su zona de confort en un territorio incierto. Si su empresa no está dispuesto a invertir en la formación y tiempo para la investigación de este problema se hará más grande, porque la gente tendrá que invertir su propio tiempo, no todo el mundo está dispuesto a hacerlo.

    Como Tauro ya se demostró que no son razones convincentes para pasar a la OO manera de hacer las cosas. Son en su mayoría no se trata de rendimiento, pero se acerca mejor a la disociación de los componentes de su sistema, lo que es mucho más fácil de mantener.

    Pero en mi experiencia, es difícil convencer a la gente a salir de su zona de confort el uso de argumentos razonables como que. Por lo general, trabaja mejor para mostrarles el camino. Poco a poco empezar a usar OO construye en su propio código, mostrar a la gente lo limpio que se ve. Esto no es algo que puedas lograr en meses, que puede tardar años en llegar a la gente a pensar y trabajar de manera diferente.

  3. 2

    Un equipo de experimentados procesal de los desarrolladores es raro empezar a desarrollar en un estilo OO en cualquier momento pronto, a menos que una parte significativa (y caro) que se hace un esfuerzo para capacitar y entrenar con ellos.

    Hay numerosas razones para que:

    • Se tarda aproximadamente un año de inmersión en un verdadero OO medio ambiente (smalltalk, no java o c++) para obtener buenas en desarrollo OO.
    • Que no se puede empezar de cero, hay un montón de código heredado, y la presión del tiempo.
    • Todo su legado, el código no es OO. Se necesita un gran esfuerzo para reestructurar.
    • El código de la herencia no está bien estructurado y tiene un montón de duplicación y no hay pruebas de unidad. El cambio de toma demasiado tiempo, por lo que no tienen tiempo para arreglar las cosas. (Es sorprendente lo que se puede deducir a partir de un proyecto sin saber nada al respecto. 🙂 ).

    Como consecuencia, su nuevo código más probable es que sea de los procedimientos, sino en las clases y los métodos. No será impresionado por las ventajas de la OO.

  4. 2

    Algunas buenas razones para cambiar a ABAP OO:

    • ABAP OO es más explícita y simple de usar
    • ABAP OO tiene una estricta comprobación de la sintaxis que elimina una gran cantidad de la ambigüedad en el lenguaje ABAP
    • Mucho de la nueva Netweaver funcionalidad solo está disponible OO

    Agregar esto a los beneficios enumerados por Tauro:

    • Mejor encapsulación de datos
    • Múltiples Instansiation
    • Mejor Recolección De Basura
    • La Reutilización de código a través de la herencia
    • Manipular objeto de negocio a través de interfaces estándar
    • Evento de programación orientada a

    Empezando a usar ABAP OO:

    • Comience por llamar a algún estándar de SAP OO funcionalidad en el código: el Uso de ALV clases, en lugar de los Módulos de Función – las clases que proporciona mucha más funcionalidad. Trate de llamar a algunos de los métodos estándar en la CL_ABAP* o CL_GUI_FRONTEND* clases
    • Escribir un informe como un Singleton uso de locales de clases
    • Tratar de diseñar una clase sencilla de SE24 para algo que es familiar para usted (un archivo de controlador, por ejemplo)

    Recursos:

    1. Patrones de diseño en Orientado a Objetos ABAP por Igor Bárbaro
    2. Aún no están utilizando ABAP Objects? Ocho Razones por las que Cada desarrollador ABAP debería darle una segunda mirada. por Horst Keller y Gerd Kluger
  5. 2

    OO o no OO no es una pregunta!!

    Pregunta es ¿de dónde OO y donde NO OO .

    Todas las ventajas de OO enfoque (de la INUNDACIÓN y la programación orientada a objetos) que puede ser explotado como siempre en nombre del cliente en el espacio. Sin embargo cada vez que se accede a la funcionalidad estándar de SAP crea enormes dolores de cabeza.
    La integridad transaccional, objeto de la coherencia y sincronización, DB se compromete, pantallas (módulo de piscinas y pantallas de selección), comprobaciones de autoridad, batch-input. Estos son sólo algunos de los objetos que es difícil (o imposible) para integrar en OO enfoque. Integración de SAP módulos estándar se mueve de este a mayor nivel de complejidad.

    User-exits, Eventos:
    La mayoría de los datos se proporciona en la interfaz. Acceso de los clientes a los datos específicos o personalización pueden ser colocados en objetos.

    Informes: la Mayoría de los datos va a ser leído por el estándar de la FM. Específicos de procesamiento de datos pueden ser colocados en objetos. Puede ser fácilmente reutilizados en otros informes. SAP disfrutar de controles puede ser envuelto con objeto de shell para facilitar el uso y la reutilización. Pantallas NO puede ser palces en los objetos. :-(((

    Núcleo de procesamiento: la Sustitución de SAP business objeto de mantenimiento o de procesos de SAP, no es recomendado por SAP. Pero si este es un caso por el paciente y listo para su gran esfuerzo. Echemos un vistazo más de cerca. Hay un montón de desafíos técnicos: patrón singleton, la optimización de la DB de acceso, bloqueo, sincronización, etc. La separación de la técnica y la funcionalidad empresarial debe tratarse. Los objetos no son adecuadas para el procesamiento de masa (alta DB carga) por lo tanto el procesamiento masivo debe tratarse.

  6. 1

    A continuación están algunas de las ventajas de la programación orientada a objetos como usted debe saber:

    • Encapsulación De Datos
    • La creación de instancias de
    • La Reutilización De Código
    • Interfaces

    De tomar ventaja de estas, hay muchas razones importantes para el uso de ABAP OO «cuando sea posible». Incluso si usted no desea utilizar la programación OO, utilizando ABAP Objects es una buena idea, ya que proporciona algunas de las características que la programación del procedimiento no.

    Así que aquí está lo ABAP Objects ofrece más de Procedimiento ABAP:

    • Mejor encapsulación
    • Soporte para múltiples instanciaciones
    • Mejores técnicas para la reutilización de código
    • Mejor interfaces
    • Explícito concepto de evento

    Sólo hay dos propósitos para los cuales Procesal ABAP se encuentra esenciales:

    • La encapsulación de los clásicos en las pantallas
      módulos de función.
    • Cuando se desea realizar funciones de
      disponible para otros sistemas, pero son
      no es capaz de hacer que los métodos de la clase
      disponible externamente mediante el uso de XI servidor
      los proxies. En este caso, usted tiene que
      el uso de módulos de función.

    Estudio acerca de ellos en detalle aquí y usted verá que usted no necesita ningún significativas de funcionamiento/demostrativo razón para convencer a sí mismo para pasar a ABAP OO, coz que todas estas razones son ya muy importante.

  7. 1

    Para ponerlo simple, se usa cuando se tiene un equipo relativamente joven que están dispuestos y listos para aprender un nuevo paradigma de programación. En un alto dominado por el equipo, la adopción OO podría ser difícil. Porque el mantenimiento del programa va hacia abajo. La organización puede necesitar nuevos empleados para mantener la OO código.

    Desde una perspectiva de diseño, no hay duda(como una gran cantidad de personas también se han dicho en este foro) que es el mejor y ha estado en uso desde edades. SAP está por detrás en términos de tecnología. Sus ECC DB de diseño se encuentra todavía en 2-NF. el estándar 3-NF es lo que he llamado ‘3D’ de la base de datos.
    No desviarse demasiado del tema principal, creo que ahora tiene muchas buenas respuestas para llegar a una decisión.

Dejar respuesta

Please enter your comment!
Please enter your name here