Archive for category: Cronacle7

Cronacle ontwikkelstandaarden

Categories: Cronacle, Cronacle7, Development

Cronacle ontwikkelstandaarden

Bij veel klanten waar ik kom, wordt gesproken over het nut van “Cronacle ontwikkelstandaarden”. In dit artikel geef ik aandacht aan dit onderwerp.

Is het de moeite waard om ontwikkelstandaarden op te stellen?

Als het onderwerp “ontwikkel standaarden” besproken wordt, komt de hierboven staande vraag altijd als eerste naar voren. Ook hier geld het Nederlandse spreekwoord: “De kosten gaan voor de baten uit”.

Waarom ontwikkelstandaarden?

Software ontwikkeling heeft een life cycle. Ongeacht welke methode er wordt gehanteerd, kunnen de volgende fasen onderkend worden: ontwerp, bouw, testen, bugfixes, nieuwe functionaliteit toevoegen. Je wilt dit proces beheersbaar houden. Zeker als dit proces met meerdere ontwikkelaars tegelijkertijd uitgevoerd worden.

De hoofdreden om ontwikkelstandaarden te hebben binnen een bedrijf is: Maak de onderhoudbaarheid van mijn software beter.

Het niet invoeren van ontwikkelstandaarden kan ook een gevaar opleveren. Er ontstaat een informele werkwijze, waarbij de sterkste persoonlijkheid op de ontwikkelafdeling het gat vult van het ontbreken van standaarden en zijn/haar eigen werkwijze gaat prediken.

Doelstelling ontwikkel standaarden

  • Verbeter onderhoudbaarheid van code
  • kwaliteitsverbetering:
  • Ontwikkel snelheid:
  • Samenwerking:
  • Minder fouten:
  • Inwerk periode korter:

Ontwikkel standaarden zijn niet statisch. Het moet voor ieder lid van het ontwikkelteam helder zijn hoe standaarden tot stand komen en hoe deze onderhouden worden. Beschrijf een heldere procedure, waar nieuwe voorstellen respectievelijk wijzigingen besproken kunnen worden.

Waarom voer je een code review uit?

Als je ontwikkelstandaarden opzet, moeten er ook momenten inbouwd worden (reviews) om de naleving van standaarden te controleren.

Een aantal redenen waarom je reviews uitvoert, zijn hier op een rijtje gezet:

  • Vroegtijdig fouten vinden
  • Reviews zijn vaak meer kosten effectief dan testen.
  • Een manier van coaching/training/leerproces. Voornamelijk voor nieuwe medewerkers.
  • Kennis overdracht naar team leden
  • Maakt het mogelijk dat de ene ontwikkelaar de code van een ander kan onderhouden.
  • Verbeter de kwaliteit van de code
  • Afdwingen van ontwikkelstandaarden

Cronacle standaarden

Ook bij de ontwikkeling van Cronacle code is het opzetten van standaarden en richtlijnen raadzaam. Bij meerdere klanten zijn we betrokken geweest bij het opstellen.
Enkele voorbeelden die je kunt verwerken in Cronacle standaarden zijn:

  • Installatie en configuratie afspraken binnen het gehele ICT landschap.
  • Naamgeving van objecten, zodat de herkenbaarheid van de objecten beter wordt. Naamgeving kan ook ondersteunend zijn bij de tooling om objecten te selecteren i.v.m. het selecteren en opleveren in een ontwikkelstraat.
  • Beschrijven van de “Do’s and Don’t” rondom Cronacle ontwikkeling.

Heeft u behoefte aan standaarden en reviews dan zijn we graag bereid U van dienst te zijn bij de invoering daar van.

Drop filter

Categories: Cronacle7, Development - Tags: ,

Deze week een beheer issue bij de hand gehad m.b.t. een “monitoring filter”. Een Cronacle gebruiker had een eigen filter geschreven. Na het aanklikken van het filter duurde het meer dan 1 uur voordat er jobs getoond werden.

Analyse

Via een aparte SQL sessie heb ik de repository geraadpleegd welke “where clause” definities er waren voor filters. De betreffende where conditie heb ik aan een explain plan onderworpen. Er was voor een kolom gekozen, welke niet ge├»ndexeerd was, waardoor het filter een full table scan deed op de repository view JCS_JOBS.


Een nieuw filter bouwen, gebaseerd op andere kolommen die wel geïndexeerd zijn, is dan een oplossing.

Verwijderen oude filter

Normaliter kan men een filter verwijderen door:
- filter selecteren
- rechter muis knop
- “delete” selecteren
Echter bij het selecteren van het filter wordt eerst de detail informatie opgehaald.
Daar wil ik nu geen uur op wachten…..

Verwijderen filter via Redwood Shell

Het filter kan ook verwijderd worden via de Redwood Shell. Hierbij kan gebruik gemaakt worden van het jcs_registry pacakge. Filter informatie ligt opgeslagen via registry instellingen. Met de volgende query kan men de “key waarde” van een betreffend filter terugvinden, welke we nodig hebben om het filter te kunnen verwijderen.

select key_id, name, private
from   sysjcs.rs_all_registry_keys
where  parent_key_id in ( select key_id from sysjcs.rs_all_registry_keys where name='Filters' )
and    jcs_registry.key_path(key_id) like '%/Monitor/Jobs/Filters/%';

Een voorbeeld van de output is:

KEY_ID NAME PRIVATE
5520 PL_TEST_DROP_FILTER Y

Na het opstarten van een Redwood Shell (RS), kan men het volgende commando geven:

begin
  jcs_registry.drop_key(key_id=>5520, recursive=>'Y');
end;
UA-37767730-1